如何使用特定密钥设置.net RSA?

如何使用特定密钥设置.net RSA?,.net,encryption,.net,Encryption,据我所知,RSA是为整个复杂的公钥/私钥设置的,但如果我不需要在线建立密钥怎么办 鲍勃和爱丽丝在一家酒吧相遇,并就1024位的数字达成一致。除非在加密要从一个发送到另一个的消息时,否则此号码不得在任何地方重复 是否可以使用.net中内置的RSA加密工具来简化该场景?我想会是这样的 Dim encryptor as new something(ByteArrayContainingTheKey) Dim EncryptedBytes() as byte = encryptor.encrypt(No

据我所知,RSA是为整个复杂的公钥/私钥设置的,但如果我不需要在线建立密钥怎么办

鲍勃和爱丽丝在一家酒吧相遇,并就1024位的数字达成一致。除非在加密要从一个发送到另一个的消息时,否则此号码不得在任何地方重复

是否可以使用.net中内置的RSA加密工具来简化该场景?我想会是这样的

Dim encryptor as new something(ByteArrayContainingTheKey)
Dim EncryptedBytes() as byte = encryptor.encrypt(NotEncryptedBytes)

另一条路在另一端,很简单吧?然而,所有关于.net中RSA的材料都集中在私钥/公钥上,我不知道如何将其操作到更简单的状态。

您所说的是对称加密,其中只使用一个密钥,必须为双方或多方提供。另见

提供代码,但使用不推荐的ECB模式。您应该使用一些经过身份验证的模式,如GCM或CCM。在我看来,CBC模式应该与消息身份验证代码一起使用。AES密钥可以是128、192或256位宽,这可能超出您的需要

当然,您可以使用RSA实现类似的功能,这可能会给您带来更大的灵活性。双方生成两个私钥/公钥对,一个用于加密,一个用于签名。双方会面并交换其公钥或两个密钥对,以便验证密钥。现在,您可以直接为另一方加密某些内容,或者您可以以某种方式建立临时对称密钥并使用,或者您可以通过使用显式生成用于签名的密钥对消息进行签名来建立临时对称密钥。Diffie-Hellman密钥交换可以在明文中完成,但必须经过验证/认证。当然,两者的结合是可能的