密码学一些概念

对称密钥加密

对称密钥加密(英语:Symmetric-key algorithm)又称为对称加密、私钥加密、共享密钥加密,是密码学中的一类加密算法。这类算法在加密和解密时使用相同的密钥,
或是使用两个可以简单地相互推算的密钥。实务上,这组密钥成为在两个或多个成员间的共同秘密,以便维持专属的通信联系。与公开密钥加密相比,要求双方获取相同的密钥是对称密钥加密的主要缺点之一[2]。
常见的对称加密算法有DES、3DES、AES、Blowfish、IDEA、RC5、RC6。
对称加密的速度比公钥加密快很多,在很多场合都需要对称加密

公开密钥加密

公开密钥加密(英语:Public-key cryptography),也称为非对称加密(英语:asymmetric cryptography),是密码学的一种算法,它需要两个密钥,一个是公开密钥,另一个是私有密钥;一个用作加密的时候,
另一个则用作解密。使用其中一个密钥把明文加密后所得的密文,只能用相对应的另一个密钥才能解密得到原本的明文;甚至连最初用来加密的密钥也不能用作解密。由于加密和解密需要两个不同的密钥,故被称为非对称加密;
不同于加密和解密都使用同一个密钥的对称加密。虽然两个密钥在数学上相关,但如果知道了其中一个,并不能凭此计算出另外一个;因此其中一个可以公开,称为公钥,任意向外发布;不公开的密钥为私钥,必须由用户自行严格秘密保管,
绝不通过任何途径向任何人提供,也不会透露给要通信的另一方,即使他被信任

基于公开密钥加密的特性,它还提供数字签名的功能

bcrypt

bcrypt是一个跨平台的文件加密工具。由它加密的文件可在所有支持的操作系统和处理器上进行转移。它的口令必须是8至56个字符,并将在内部被转化为448位的密钥。然而,所提供的所有字符都具有十分重要的意义。密码越强大,您的数据就越安全。
除了对您的数据进行加密,默认情况下,bcrypt在删除数据之前将使用随机数据三次覆盖原始输入文件,以阻挠可能会获得您的计算机数据的人恢复数据的尝试。如果您不想使用此功能,可设置禁用此功能
bcrypt使用的是布鲁斯·施内尔在1993年发布的Blowfish加密算法。具体来说,bcrypt使用保罗·柯切尔的算法实现。随bcrypt一起发布的源代码对原始版本作了略微改动。

Blowfish

Blowfish是一个对称加密块算法,由Bruce Schneider于1993年设计,现已应用在多种加密产品。Blowfish能保证很好的加密速度,并且目前为止没有发现有效地破解方法。目前为止AES比Blowfish有更广的知名度。
Schneider 设计的Blowfish算法用途广泛,意在摒弃DES的老化以及其他算法的强制捆绑。Blowfish刚刚研发出的时候,大部分其他加密算法是专利所有的或属于商业(政府)机密,所以发展起来非常受限制。Schneider 则声明 Blowfish 的使用没有任何限制,任何国家任何人任何时候都可以随意使用 Blowfish算法。
Blowfish 主要包括关键的几个S盒和一个复杂的核心变换函数。

柯克霍夫原则

密码学上的柯克霍夫原则(Kerckhoffs's principle,也称为柯克霍夫假说、公理、或定律)系由奥古斯特·柯克霍夫在19世纪提出:即使密码系统的任何细节已为人悉知,只要密匙(key,又称密钥或密钥)未泄漏,它也应是安全的

柯克霍夫为军用保密器所设计的这六个原则是:

  1. 即使非数学上不可破解,系统也应在实质(实用)程度上无法破解。
  2. 系统内不应含任何机密物,即使落入敌人手中也不会造成困扰。
  3. 密匙必须易于沟通和记忆,而不须写下;且双方可以容易的改变密匙。
  4. 系统应可以用于电讯。
  5. 系统应可以携带,不应需要两个人或以上才能使用(应只要一个人就能使用)。
  6. 系统应容易使用,不致让用户的脑力过分操劳,也无需记得长串的规则。

你可能感兴趣的:(密码学一些概念)