1. Список говнокодов пользователя shem

    Всего: 1

  2. Куча / Говнокод #9077

    +133

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    (define rsagen
      (lambda ()
         (for-each (lambda (rsa counter)
                     (cond
                      ((> (random) 0.5)
                       (fprintf out-quest "%N=~s, d=~s\n\\item Задача. Криптосистема RSA. Дано: $p=~s,\\ q=~s,\\ e=~s$. Вычислить $N, d$.\n"
                                (third rsa)
                                (fifth rsa)
                                (first rsa)
                               (second rsa)
                               (fourth rsa)
                               
                               ))
                      (else
                       ((lambda (randM) 
                          (fprintf out-quest "%p=~s,q=~s,e=~s,M=~s\n\\item Задача. Криптосистема RSA. Дано: $d=~s,\\ N=~s,\\ C=~s$. Вычислить $M$.\n"
                                   (first rsa)
                                   (second rsa)
                                   (fourth rsa)
                                (rsacrypt randM (fourth rsa) (third rsa))
                                (fifth rsa)
                               (third rsa)
                               randM
                               ))
    
                        ((Y
                          (lambda (checkrand)
                            (lambda (randf)
                              ((lambda (rand)
                                 (cond
                                  ((not (eq? (rsacrypt rand (fourth rsa) (third rsa)) rand))
                                   rand)
                                  (else
                                   (checkrand randf))))
                               (randf)))))
                         (lambda () (- (third rsa) (+ (random (quotient (third rsa) 2)) 1))))
                         
                        )
                        )
                       )
                     )
                   (take (shuffle (getalllistallmany_e (next-primes 7 50) (next-primes 5 10))) 14)
                   (build-list 14 (lambda (x) (+ x 1))))
         ))

    Генерирование заданий по криптосистеме RSA. Обратите внимание на Y комбинатор.

    shem, 11 Января 2012

    Комментарии (36)