RSA如何加密/解密?

时间:2019-11-21 17:28:30

标签: encryption rsa

我正在尝试了解RSA加密/解密,到目前为止这是有意义的,但是我真的不了解如何生成公钥/私钥以及它们如何加密/解密。

例如,我生成一个1024位的公用/专用密钥:

公共:

  

MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCCexd / + + nDyyxOVsieqc4c6aC4wHPRi4Nsw0l7hy8XFDOWQiPxBTgeqYtWI2fVBp0J0yHNpibG893W5Ex2UfYUPf8Yru5J9Hr3yHveX1mzJOPedPTq3pg SKpWGb9oqy76ucFyYM / Rat0IfqotUQSOV79sz1uCbDw1 + 2VA8klspmwIDAQAB

私人:

  

MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAIJ7F3 / 6cPLLE5WyJ6pzhzpoLjAc9GLg2zDSXuHLxcUM5ZCI / EFOB6pi1YjZ9UGnQnTIc2mJsbz3dbkTHZR9hQ9 / xiu7kn0evfIe95fWbMk49509OremD5IqlYZv2irLvq5wXJgz9Fq3Qh + qi1RBI5Xv2zPW4JsPDX7ZUDySWymbAgMBAAECgYAnbUBlmGxmwPxTAHlB5RTYjkBeo3EpK56v + vFWszc4WrRHX00yAn0IfELfzlRwmTTYivVsz4GYgwHcga0vgFojLRTmynUNPHD / X64qBRWn7EwaQbjfU9w + xYUpNlJLSlXE9CJnoH / 2DN + 8zYs7VfhvrW5H3FYvs1DZzD0xe7Bf0QJBAMQBVfY5NtqFW / U8fesDFlwQ6St3Yt9 + DbrC418AxxTvvkedQ5QoMo7T1g6VEfisK3b9B23V9q1Rl7XkexDAzDMCQQCqa13aMIteoOmc9UqCnXxIx4qWfH0cxf5 / 7l6b / hHCdIH3wtZCwHibWjCQukcTlWy / wwxUYhG29O / TCfOGDUT5AkAs8fF4SJ5fdX0kuv5UyZxy + B2 / rdyqSwly7gWdX1xHXMJRQaqhaqZNQh4vsdcxIqnE2zi84vdxvuf ++ amOqecpAkBUCcooVJQFwBgzvIpXys2FHlFrUExqKgEMmUGybyHW4JlO0pfSJxPSmD​​EmzZVLRP5xuf + UHR / zNuolCd07F8QRAkAk1cg2PERmdk4CwOmxGE2z0PPpUtOFYD + lRtKwlBErCATqp2BBDW7DbhhNR5kRN538KwOpgVxZloTPoiujqVUz

并加密我的消息:

  

SN / 3 / es3RCRSp3s8zY / Uyg4Itwk5eELkVKU1OX00EBRixXHYFF / + 96 + QTxfC7G4HIsKqH2PNwAPPkg0OBzTMjP2GzSdVIkhV4WDKYWXjihuJguJguJgUJw1JW1JW3G1E3KYK1E4K3E1E6E3E9E1E9

RSA生成器如何创建这些密钥?它如何加密我的短信?以及如何使用这些密钥解密该加密的消息?该代码是什么样的?

(注意:我没有将这些特定键用于任何事情)

1 个答案:

答案 0 :(得分:0)

听起来您的困惑源于您在网上看到的大多数RSA示例都使用(很大)数字而不是二进制数据或文本。

回想一下,实际上,计算机实际上只能使用1和0。如果我们为数字实现RSA算法,则实际上只是在一堆二进制文件上实现了抽象层。

文本也表示为二进制。这样我们就可以在这些之间轻松转换。

例如,使用UTF-8进行编码的“测试”一词的二进制形式如下:

01010100 01100101 01110011 01110100

如果我们将此二进制序列转换为数字(UInt32),则会得到1415934836-适用于(但不安全)RSA示例(如维基百科上演示的示例)使用。