• 一些概念


    1.柯克霍夫原则:

    即使密码系统的任何细节已为人熟知,只要密钥未泄露,它也应是安全的。

    无论是在战争时期还是和平时期,都不能把保密的希望寄托于系统或算法的秘密性。机械可以拆解,软件可以反编译。密码系统的所有细节总会被有心人一一拆解。这个时候,如果系统符合柯克霍夫原则,那么即使对手拆解了系统但不知道密钥,他也没有办法破译加密的信息。满足这种严苛条件的密码系统才是安全的。

    2.散列函数:

    散列函数广泛用于信息完整性的验证,是数据签名的核心技术。散列函数的常用算法有MD---消息摘要算法、SHA---安全散列算法及MAC---消息认证码算法。

    3.对称加密:

    对称密码体制要求加密与解密使用同一个共享密钥,解密是加密的逆运算,由于通信双方共享同一个密钥,这就要求通信双方必须在通信前商定该密钥,并妥善保存该密钥,该密钥称为秘密密钥。秘密密钥的存在使得对称密码体制开放性变差。

    常见的对称加密算法有DES、3DES、AES、IDEA、Blowfish、RC5和RC6等。

    4.非对称加密:

    非对称密码算法的安全性依赖于计算复杂度上的难题,通常来自于数论。

    RSA---整数因子分解问题;

    DSA---数字签名算法,源于离散对数问题;

    ECC---椭圆曲线加密算法,源于离散对数问题。

    由于这些数学难题的实现多涉及底层模数乘法或指数运算,相对于分组密码需要更多的计算资源。

    为了弥补这一缺陷,非对称密码系统通常是复合式的:用高效的对称密码算法对信息进行加解密处理,用非对称密钥加密对称密码系统所使用的密钥,通过这种复合方式增进效率。

    5.数字签名算法:

    数字签名算法可以看做是一种带有密钥的消息摘要算法,并且这种密钥包含了公钥和私钥。也就是说,数字签名算法是非对称加密算法和消息摘要算法的结合体。

  • 相关阅读:
    经典小程序源码及其下载地址
    关闭ios虚拟键盘的几种方法
    从零开始学ios开发(十八):Storyboards(下)
    iOS应用程序生命周期(前后台切换,应用的各种状态)详解
    从零开始学ios开发(十九):Application Settings and User Defaults(上)
    关于IOS中的delegate必须知道的事情
    ios多线程和进程的区别(转载)
    ios各种手势,很有意思
    IOS中GPS定位偏移纠正(适用于Google地图)
    [iOS]深入浅出 iOS 之多线程 NSThread
  • 原文地址:https://www.cnblogs.com/i-hard-working/p/9544637.html
Copyright © 2020-2023  润新知