区块链兄弟社区,区块链技术专业问答先行者,中国区块链技术爱好者聚集地
作者:于中阳
来源:区块链兄弟
原文链接:http://www.blockchainbrother.com/article/73
著权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
1.算法和密钥
密码算法(cryptographic algorithm)亦称为密码(cipher),其是用于加密和解密的数学函数。一般情况下,会有两个相关函数,一个用于加密,一个用于解密。
若给予算法的保密性仅仅是基于对保持算法本身的秘密,那么这种算法被称为受限的(restricted)算法。受限制的算法具有相当的历史意义,但按照现代的标准,其保密性已经远远不够。举一个例子,一个组织使用了一种算法,若有一个工作人员离开了这个组织,那么其他的工作者为了安全性就必须改变另外不同的算法。同时,若有人有意或无意的泄露了这个秘密,所有的人都必须改变他们的算法。
与此同时需要指出的是,受限制的密码算法不可能进行质量控制或标准化。每个用户组织必须拥有自己的唯一算法。这样的话,这些组织不可能采用流行的硬件或软件产品,因为窃听者是可以通过外界的购买得到这些产品并学习算法的,这就势必导致用户不得已必须自己编写算法并予以实现,但若这个组织中没有卓越的密码学家,那么他们是无从得知他们是否拥有了安全的算法。
当然,尽管如此受限制的算法在对密级要求低的应用场景中还是很流行的。