56 lines
2.6 KiB
Markdown
56 lines
2.6 KiB
Markdown
|
---
|
||
|
id: 5900f4231000cf542c50ff35
|
||
|
challengeType: 5
|
||
|
title: 'Problem 182: RSA encryption'
|
||
|
videoUrl: ''
|
||
|
localeTitle: 'Проблема 182: Шифрование RSA'
|
||
|
---
|
||
|
|
||
|
## Description
|
||
|
<section id="description"> Шифрование RSA основано на следующей процедуре: сгенерировать два разных простых числа p и q.Compute n = pq и φ = (p-1) (q-1). Найдите целое число e, 1 <e<φ, such="" that="" gcd(e,φ)="1." a="" message="" in="" this="" system="" is="" number="" the="" interval="" [0,n-1].="" text="" to="" be="" encrypted="" then="" somehow="" converted="" messages="" (numbers="" [0,n-1]).="" encrypt="" text,="" for="" each="" message,="" m,="" c="me" mod="" n="" calculated.="" decrypt="" following="" procedure="" needed:="" calculate="" d="" ed="1" φ,="" c,="" m="cd" n.="" there="" exist="" values="" of="" e="" and="" me="" call="" which="" unconcealed="" messages.="" an="" issue="" when="" choosing="" should="" not="" too="" many="" instance,="" let="" p="19" q="37." φ="18*36=648." if="" we="" choose="" then,="" although="" gcd(181,648)="1" it="" turns="" out="" all="" possible="" messagesm="" (0≤m≤n-1)="" are="" calculating="" any="" valid="" choice="" some="" it's="" important="" at="" minimum.="" find="" sum="" e,="" 1<e<φ(1009,3643)="" so="" value="" <="" section=""><h2> инструкции </h2><section id="instructions"></section><h2> тесты </h2><section id="tests"><pre> <code class="language-yml">tests: - text: <code>euler182()</code> should return 399788195976. testString: 'assert.strictEqual(euler182(), 399788195976, "<code>euler182()</code> should return 399788195976.");'</code> </pre></section><h2> Сезон испытания </h2><section id="challengeSeed"><div id="js-seed"><pre> <code class="language-js">function euler182() { // Good luck! return true; } euler182();</code> </pre></div></section><h2> Решение </h2><section id="solution"><pre> <code class="language-js">// solution required</code> </pre></section></e<φ,></section>
|
||
|
|
||
|
## Instructions
|
||
|
<section id="instructions">
|
||
|
</section>
|
||
|
|
||
|
## Tests
|
||
|
<section id='tests'>
|
||
|
|
||
|
```yml
|
||
|
tests:
|
||
|
- text: <code>euler182()</code> должен вернуть 399788195976.
|
||
|
testString: 'assert.strictEqual(euler182(), 399788195976, "<code>euler182()</code> should return 399788195976.");'
|
||
|
|
||
|
```
|
||
|
|
||
|
</section>
|
||
|
|
||
|
## Challenge Seed
|
||
|
<section id='challengeSeed'>
|
||
|
|
||
|
<div id='js-seed'>
|
||
|
|
||
|
```js
|
||
|
function euler182() {
|
||
|
// Good luck!
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
euler182();
|
||
|
|
||
|
```
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
</section>
|
||
|
|
||
|
## Solution
|
||
|
<section id='solution'>
|
||
|
|
||
|
```js
|
||
|
// solution required
|
||
|
```
|
||
|
</section>
|