<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Erning.write() &#187; crypto</title>
	<atom:link href="http://erning.net/tags/crypto/feed" rel="self" type="application/rss+xml" />
	<link>http://erning.net</link>
	<description>Reloading</description>
	<lastBuildDate>Fri, 18 Jun 2010 18:05:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>[SOLVED] Re: 一个数学问题</title>
		<link>http://erning.net/archives/a-math-problem</link>
		<comments>http://erning.net/archives/a-math-problem#comments</comments>
		<pubDate>Wed, 08 Feb 2006 11:19:39 +0000</pubDate>
		<dc:creator>erning</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[crypto]]></category>

		<guid isPermaLink="false">http://www.erning.net/archives/2006/02/08/a-math-problem/</guid>
		<description><![CDATA[Subject: [SOLVED] Re: 一个数学问题 From: Zhang Erning (zhangern@china-channel.com) Date: 8/8/2005 3:18 PM To: tech@35.cn hi, 多谢各位的回复。 是的，这个其实就是破解RSA的问题。只是当RSA的key很大的时候，破解需要的时 间是不可接受的。 我这个问题，A,B是常量，而且算是很小的。(可能提问的时候提示不够) 根据RSA的算法的说明 当 x^B mod A = c 时，应该有 x = c^r mod B 问题就是算出r r*B mod ((p-1)(q-1)) = 1 其中p,q是两个质数，p*q == A 问题就成了找p,q的，这也就是RSA里最直接的破解思路。因为A足够小。 A=179399505810976971998364784462504058921 通过Quadratic Sieve http://mathworld.wolfram.com/QuadraticSieve.html 算 出 p=9939430972488238699 q=18049273274048008379 B=65537 然后 modular inverse 算出 [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Subject:</strong> [SOLVED] Re: 一个数学问题<br />
<strong>From:</strong> Zhang Erning (zhangern@china-channel.com)<br />
<strong>Date:</strong> 8/8/2005 3:18 PM<br />
<strong>To:</strong> tech@35.cn</p>
<p>hi,</p>
<p>多谢各位的回复。</p>
<p>是的，这个其实就是破解RSA的问题。只是当RSA的key很大的时候，破解需要的时<br />
间是不可接受的。<br />
我这个问题，A,B是常量，而且算是很小的。(可能提问的时候提示不够)</p>
<p>根据RSA的算法的说明<br />
当 x^B mod A = c 时，应该有<br />
x = c^r mod B</p>
<p>问题就是算出r</p>
<p>r*B mod ((p-1)(q-1)) = 1<br />
其中p,q是两个质数，p*q == A</p>
<p>问题就成了找p,q的，这也就是RSA里最直接的破解思路。因为A足够小。<br />
A=179399505810976971998364784462504058921</p>
<p>通过Quadratic Sieve <a class="moz-txt-link-freetext" href="http://mathworld.wolfram.com/QuadraticSieve.html">http://mathworld.wolfram.com/QuadraticSieve.html</a> 算<br />
出<br />
p=9939430972488238699<br />
q=18049273274048008379</p>
<p>B=65537<br />
然后 modular inverse 算出<br />
r=89126272330128007543578052027888001981</p>
<p>不停的google后，终于解决了。</p>
<p>[其实我是想写一个软件的序列号生成器，搞定了]</p>
<p>Zhang Erning</p>
<p>>><br />
>> Hi,<br />
>><br />
>> 有个数学问题，有数学比较好的帮我看看，或者问问，谢谢。<br />
>><br />
>> 对下面的方程，A,B是常量, 给定一个c，求x。其中A,B,c,x都是正整数<br />
>> x^B mod A = c<br />
>> (x^B表示x的B次方，mod是模。)<br />
>><br />
>> A, B, c, x 都是个很大的整数，其中常亮<br />
>> A=179399505810976971998364784462504058921<br />
>> B=65537<br />
>><br />
>> 其中一个解的例子是<br />
>><br />
>> c=316442568644203243198389073 时<br />
>> x=162056862300807702758723198119182049115<br />
>><br />
>> 这个c是通过x算出来的，我想知道，给定c能否算出x<br />
>><br />
>> 另外，c是有特征的，c为12个bytes的integer。其中前10个bytes固定的。<br />
>> 比如 c = 0x 31 05 00 00 00 00 00 00 00 00 xx xx<br />
>> 对于给定的c，就后面两个bytes不同。<br />
>><br />
>> 这个问题目前也可能没有好办法。就是不能在可接受的O()里通过c逆算出x。<br />
>><br />
>> Zhang Erning</p>
]]></content:encoded>
			<wfw:commentRss>http://erning.net/archives/a-math-problem/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
