现代通信网需要产生大量的密钥分配给各主机、节点和用户。过去靠人工方法产生和管理密钥的方式已被时代所淘汰。密钥产生和管理的自动化不仅可以减轻人们的工作负担,而且可以消除人为差错引起的泄密目前已有各种各样的峦钥产生器可为大型系统提供所需的各类峦钥。生成密钥的算法要满足一定的要求才能启用。
1.主机主密钥的产生,这类密钥通常要用诸如掷硬币,骰子,从随机数表中选数等随机方式产生,以保证密钥的随机性,避免可预测性。而任何机器和算法所产生的密钥都有被预测的危险。主机主密钥是控制产生其它加钟密钥的密钥,而且长时间保持不变,因此它的安全性是至关重要的。
2.密钥加密密的产生,可以由机器自动产生,也可以由液钥操作员选定。密钥加密密钥构成的密钥表存贮在主机中的辅助存贮器中,只有密钥产生器才能对此表进行增加、修改、删除和更换密钥,其副本则以秘密方式送给相应的终端或主机。一个有N个终端用户的通信网,若要求任一对用户之间彼此能进行保密通信,则需要有CR个密钥加密密钥。当N较大时,难免有一个或数个被敌手掌握。因此,密钥产生算法应当能保证其它用户的密钥加密密钥仍有足够的安全性。可用随机比特产生器(如噪声二极管振荡器等)或/随机数产生器生成这类密钥,也可用主密钥控制下的某种算法来产生。
3.会话密钥的产生,会话密钥可在密钥加密密钥作用下通过某种加密算法动态地产生,如用初始密钥控制一非线性移存器或用密钥加密密钥控制DES算法产生。
初始密钥可用产密钥加密密钥或主机主密钥的方法生成。