将RSA密钥缩短到64个字节是否安全?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将RSA密钥缩短到64个字节是否安全?相关的知识,希望对你有一定的参考价值。
im正在尝试加密Realm DB。密钥应为64个字节长。我的应用程序的最小api级别是21,因此我只能依靠android sdk解决方案来生成RSA密钥,其最小长度为512字节。将RSA密钥缩短到64个字节是否安全?
KeyStoreHelper.createKeys(application, "REALM_KEY")
RealmConfiguration.Builder()
.name("MyDatabaseName")
.encryptionKey(KeyStoreHelper.getSigningKey("REALM_KEY")!!.take(64).toByteArray())
.schemaVersion(2)
.deleteRealmIfMigrationNeeded()
.build()
.run(Realm::setDefaultConfiguration)
答案
在/security.stackexchange.com上遇到此答案
TL:DR
传统上,RSA密钥的“长度”是模数的长度(以位为单位)。当说RSA密钥的长度为“ 2048”时,实际上意味着模数值介于22047和22048之间。由于给定对的公钥和私钥共享相同的模数,因此根据定义,它们也具有相同的模数。理论上,一个2048位模数可以精确地容纳256个字节(因为256 * 8 = 2048),但是您需要更多的字节来编码其他值。
以上是关于将RSA密钥缩短到64个字节是否安全?的主要内容,如果未能解决你的问题,请参考以下文章
使用密钥大小小于2048的RSA安全密钥创建JWT令牌时出错