A method for realizing security in modular power operation functions of cryptographic operations is provided. When the modular power operation function is called, the key is obtained as a parameter. The key may be a public key or a private key of an encrypted key pair. Within the modular power operation function, the method finds out whether the length of the key is greater than the L bit, where L is a positive integer. If the length of the key is greater than L-bit, the countermeasure against the attack is implemented. The countermeasures may include one or more technologies (e.g., hardware and/or software technologies) that prevent or prevent the identification of information about the key by analysis. One or more power operations may then be performed using the key. The same modular exponentiation function can be used to perform encryption and decryption operations, but different keys are used.
【技术实现步骤摘要】
【国外来华专利技术】具有旁道攻击对策的模幂运算相关申请的交叉引用本申请案主张2016年7月22日在美国专利商标局建议申请的第15/217,760号美国非临时专利申请案的优先权和权益,所述非临时专利申请案的整个内容以引用的方式并入本文中。
一或多个特征涉及机密性保护、认证、加密密钥产生,且更具体地说,涉及针对试图曝露加密密钥的旁道攻击或可用于曝露加密密钥的信息的对策。
技术介绍
公用密钥密码学,或非对称密码术,是一种加密系统,其使用两个类别的密钥:可能广泛地分发的公共密钥,而私用密钥仅对拥有者已知。在公用密钥加密系统中,消息可使用公共密钥(例如,分配给任何人)加密,但这种消息仅可使用对应的私用密钥解密。许多这种加密系统,例如维斯特-沙米尔-阿德勒曼(Rivest-Shamir-Adleman;RSA)和迪菲-赫尔曼密钥协议算法,使用模幂运算作为基本运算。在模幂运算中,对模数执行一种幂运算。在一个实例中,模幂运算计算上升到e次幂(指数)的整数b(底数),be,除以正整数m(模数)时的余数。一般来说,加密系统采用(a)公用指数(亦称为公用密钥),(b)私用指数(亦称为私用密钥),和(c)共模(与私用和公共密钥一起使用)。这些密码中使用的私用指数(私用密钥)通常对于例如功率分析和时点分析的旁道分析是脆弱的。旁道攻击允许攻击者通过测量除算法结果的其它信息,例如功率消耗、计算时间或装置的射频发射来恢复关于密码操作输入的信息。这种旁道分析试图曝露例如私用指数(私用密钥),借此允许攻击者接入使用对应公用密钥加密的内容。挫败简单功率分析(SimplePowerAnalysis;SPA)的一个典 ...
【技术保护点】
1.一种用于在加密运算的模幂运算函数中实现安全性的方法,其包括:当调用所述模幂运算函数时,获取密钥作为参数;在所述模幂运算函数内,查明所述密钥的长度是否大于L位,其中L为正整数;如果所述密钥的长度大于L位,那么实施对付攻击的对策;以及使用所述密钥执行一或多个幂运算。
【技术特征摘要】
【国外来华专利技术】2016.07.22 US 15/217,7601.一种用于在加密运算的模幂运算函数中实现安全性的方法,其包括:当调用所述模幂运算函数时,获取密钥作为参数;在所述模幂运算函数内,查明所述密钥的长度是否大于L位,其中L为正整数;如果所述密钥的长度大于L位,那么实施对付攻击的对策;以及使用所述密钥执行一或多个幂运算。2.根据权利要求1所述的方法,其中所述密钥为加密密钥对的公用密钥或私用密钥。3.根据权利要求1所述的方法,其中L=24位。4.根据权利要求1所述的方法,其中相同模幂运算函数执行加密和解密运算,但是是利用不同的密钥。5.根据权利要求1所述的方法,其中所述对策包含阻止或防止通过分析而查明关于所述密钥的信息的一或多种技术。6.根据权利要求1所述的方法,其中所述对策包含所述密钥的加密盲发。7.根据权利要求1所述的方法,其中实施所述对策包含以下各项中的至少一个:切换到功率均衡电路,其独立于所述密钥的值而利用大致相同的功率量进行所述一或多个幂运算,切换到时间均衡电路,其独立于所述密钥的所述值而耗费大致相同的时间量进行所述一或多个幂运算,或切换到功率均衡和时间均衡电路,其独立于所述密钥的所述值而利用大致相同的功率和时间量进行所述一或多个幂运算。8.根据权利要求1所述的方法,其进一步包括:如果所述密钥的长度小于或等于L位,那么绕过所述对策。9.根据权利要求1所述的方法,其进一步包括:获取数据m和模数n,其中所述一或多个幂运算对所述数据m进行加密以获取密文c,其中c=mkpubmodulon,且kpub=密钥。10.根据权利要求1所述的方法,其进一步包括:获取数据c和模数n,其中所述一或多个幂运算对所述数据c进行解密以获取数据m,其中c=mkpubmodulon,且kpub=密钥。11.根据权利要求1所述的方法,其进一步包括:获取消息m和模数n,并且所述一或多个幂运算使用私用密钥kpriv对所述消息m进行签名,以获取签名s,其中s=mkprivmodulon,且kpriv=密钥。12.根据权利要求1所述的方法,其进一步包括:获取签名s和模数n,且所述一或多个幂运算使用公用密钥kpub认证所述签名s来获取消息m,其中m=skpubmodulon,且kpub=密钥。13.一种机器可读存储媒体,其具有用于在模幂运算函数中实现安全性的一或多个指令,所述指令在由至少一个处理电路执行时致使所述至少一个处理电路进行以下操作:当调用所述模幂运算函数时,获取密钥作为参数;在所述模幂运算函数内,查明所述密钥的长度是否大于L位,其中L为正整数;如果所述密钥的长度大于L位,那么实施对付攻击的对策;以及使用所述密钥执行一或多个幂运算。14.根据权利要求13所述的机器可读存储媒体,其中所述密钥是加密密钥对的公用密钥或私用密钥。15.根据权利要求13所述的机器可读存...
【专利技术属性】
技术研发人员:肖露,邓晶,J·Y·金,
申请(专利权)人:高通股份有限公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。