苹果手机如何给应用程序加密?
1. 使用Xcode进行开发时,打开app的capabilities,设置自己的App使用Data Protection,打开Data Protection后,会为你的App生成一个默认的N***ileProtectionKey,可防止未经授权的访问。
2. 使用苹果提供的Keychain服务,可以用于安全地存储密码等数据,App在运行时能够从Keychain中读取加密后的敏感数据,且ios系统默认对Keychain中的所有内容进行加密保护。
3. 使用苹果提供的加密库CommonCrypto,可以使用aes加密算法、哈希算法等对敏感数据进行加密保护。
4. 使用https协议,对网络数据传输进行加密保护,防止窃听和中间人攻击。
aes加密算法?
、AES算法简介
AES算法全称Advanced Encryption Standard,又称Rijndael加密法,是美国联邦******用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院 (NIST)于2001年11月26日发布于FIPS PUB 1***,并在2002年5月26日成为有效的标准。
2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。
AES支持三种长度的密钥:128位,192位,256位。
aes的基本条件?
AES是美国国家标准技术研究所NIST旨在取代DES的21世纪的加密标准。
AES的基本要求是,***用对称分组密码体制,密钥长度的最少支持为128、192、256,分组长度128位,算法应易于各种硬件和软件实现。1998年NIST开始AES第一轮分析、测试和征集,共产生了15个候选算法。1999年3月完成了第二轮AES2的分析、测试。2000年10月2日美国***正式宣布选中比利时密码学家Joan Daemen 和 Vincent Rijmen 提出的一种密码算法RIJNDAEL 作为 AES.
在应用方面,尽管DES在安全上是脆弱的,但由于快速DES芯片的大量生产,使得DES仍能暂时继续使用,为提高安全强度,通常使用独立密钥的***DES。但是DES迟早要被AES代替。流密码体制较之分组密码在理论上成熟且安全,但未被列入下一代加密标准。
AES加密数据块大小最大是256bit,但是密钥大小在理论上没有上限。AES加密有很多轮的重复和变换。大致步骤如下:
1、密钥扩展(KeyExpansion),
2、初始轮(Initial Round),
3、重复轮(Rounds),每一轮又包括:SubBytes、ShiftRows、MixColumns、AddRoundKey,
4、最终轮(Final Round),最终轮没有MixColumns。
aes加密算法是否安全?
AES算法作为DES算法和MD5算法的替代产品,10轮循环到目前为止还没有被破解。一般多数人的意见是:它是目前可获得的最安全的加密算法。AES与目前使用广泛的加密算法─DES算法的差别在于,如果一秒可以解DES,则仍需要花费1490000亿年才可破解AES,由此可知AES的安全性。AES 已被列为比任何现今其它对称加密算法更安全的一种算法。