如何使用Perl编写的“三行版本的RSA算法”?

问题描述

J。Hoffstein等人的书"An Introduction to Mathematical Cryptography"。讨论了Perl中RSA算法的三行实现,人们用来抗议美国政府对密码学的审查:

为了抗议政府的政策,人们用称为perl的编程语言编写了三行版本的RSA算法,并将其印在T恤衫和汽水罐上,从而使这些产品成为弹药。原则上,在从纽约飞往欧洲的航班上穿“启用RSA的” T恤会使穿用者遭受巨额罚款和10年监禁。

我在网上寻找了真正的Perl程序,并在这里找到它:http://www.cypherspace.org/rsa/story.html

#!/bin/perl -s-- -export-a-crypto-system-sig -RSA-3-lines-PERL
$m=unpack(H.$w,$m."\0"x$w),$_=`echo "16do$w 2+4Oi0$d*-^1[d2%sa
2/d0<X+d*La1=z\U$n%0]SX$k"[$m*]\EszlXx++p|dc`,s/^.|\W//g,print
pack('H*',$_)while read(STDIN,$m,($w=2*$d-1+length$n&~1)/2)

以上等同于以下内容

#!/bin/perl -s --

$w = ( 2 * $d - 1 + length($n) ) & ~1;

while (read(STDIN,$w/2)) {
   $m = unpack(H.$w,$m.("\0"x$w));
   $_ = `echo "16do$w 2+4Oi0$d*-^1[d2%sa2/d0<X+d*La1=z\U$n%0]SX$k"[$m*]\EszlXx++p | dc`;
   s/^.|\W//g;
   print pack('H*',$_);
}

我的问题是:我将如何使用该程序来加密并稍后解密一段数据?该程序是否还支持密钥生成,或者我是否已经需要密钥? / p>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)