从数学的角度来讲,一个密码体系就是一簇映射,它在密钥的操控下将明文空间中的每一个元素映射到密文空间上的某个元素。这簇映射是由密码算法决定,详细运用哪一个映射由密钥决议。因而,密码算法和密钥是密码体系中两个最基本的要素。
人们一般把加密算法和解密算法合称为密码算法,它一般是由两个相关的数学函数构成,一个用于加密,一个用于解密。算法可所以一些公式、规律或程序,规定明文和密文之间的改换办法;密钥能够看成是算法中的参数。不能在一个密码体系中常常改变加密算法,从这个意义上说,能够把算法看作是一个常量。
而密钥则是一个可以改变的量,可以根据事先约定好的安排,或者使用过若干次后改变一次密钥,或者每隔一段时间更换一次密钥等。为了增强保密通信系统的安全性,频繁更换密钥是非常必要的。但是由于反编译等诸多原因,算法往往不能够保密。密码学的一个基本原则就是“一切秘密寓于密钥之中”,因此,人们常常规定加密算法是公开的,真正需要保密的是密钥,加密后的密文可以通过不安全信道传送给预定的信息接收者,但是密钥必须通过安全信道传送,密钥的存储和分发是最重要的而且也是特别容易出问题的。因此,密钥是密码体制安全保密的关键,它的产生和管理是密码学中的重要研究课题。