Skip to content

Instantly share code, notes, and snippets.

@mabako
mabako / rpi-image.md
Created March 9, 2014 05:52
raspberry pi image stuff

Flash image to sdcard (/dev/sdc)

$ dd bs=4M if=raspbian.img of=/dev/sdc

Export from sdcard

$ dd if=/dev/sdc of=raspberry.img bs=1M conv=notrunc,noerror
@mabako
mabako / boot-größe.scm
Created November 13, 2013 15:59
Bestimmung aller Züge mit gegebener Bootgröße max
(define kombinationen
(lambda (max)
(let this ((queue '((0 0))) (states '()))
; queue: -> (0 1) wäre 0 Missionare, ein Kannibale
(if (null? queue) ; noch Elemente in der Queue?
(delete-duplicates ; doppelte Elemente sind ja toof
(delete (list 0 0) states)) ; States zurückgeben, mit (0, 0) gelöscht, da ja
; immer jemand im Boot sitzen muss.
(let ((top (car queue))) ; Vermerk auf das erste Element
@mabako
mabako / miller-rabin-test.scm
Created October 15, 2013 09:32
Miller-Rabin-Test
; Prüft, ob eine Zahl eine Primzahl ist laut Miller-Rabin-Test.
; http://mathworld.wolfram.com/Rabin-MillerStrongPseudoprimeTest.html
; > Given an odd integer n [1], let n=2^rs+1 with s odd [2,3].
; > Then choose a random integer a with 1<=a<=n-1 [4].
; > If a^s=1 (mod n) [5] or a^(2^js)=-1 (mod n) [6] for some 0<=j<=r-1, then n passes the test.
(define (prim? n)
(cond
((< n 2) #f)
((>= n 2152302898747) (error "prim?" "Zu große Zahl" n)) ; '(2, 3) sind ausreichend für alle Zahlen < dieser
((memq n '(2 3 5 7 11)) #t)
@mabako
mabako / rsa-block-beispiel.txt
Created October 12, 2013 13:55
RSA Beispiel für Blöcke
p = 880570337
q = 283750367
n = 249862156293063679, blocklänge(n) = 7
öffentlicher Schlüssel e = 187702079
privater Schlüssel d = 41999625893898879
(188624497520608377 244956734302025128 200114068456308501 143567655139183288 133116905453364816 221841814359912533 187331302954347689 22618773148576146 96899192761479561 239687608500383492 67589050610855157 220191756918260171 13852308575901184 29018396952281124 65403460179436235 240304256606237987 80135917199800944 237964379390333512 62513313122576678 18267978644791853 92007074133075895 185817369957483024 39145942306690780 58255622521311131 61760987993815113 10580631897542339)
Dieser Text soll nur soetwas wie ein Beispiel sein, braucht den jemand? Und nebenbei, es ist ja nicht so, als ob andere RSA-Implementierungen mit Blöcken was anfangen könnten.
(define (a8 a . r)
(let
(
(m (apply max r))
)
(if (>= a m)
(+ (quadrat a) (quadrat m))
(apply a8 (append r (list a)))
)
)
@mabako
mabako / erweiterter_euklid.scm
Created October 11, 2013 17:42
erweiterter euklid
(define (erweiterter_euklid a b)
(if (= b 0)
(list a 1 0)
(begin
(let*
(
(tmp (erweiterter_euklid b (modulo a b)))
(d (car tmp))
(s (cadr tmp))
(t (caddr tmp))
@mabako
mabako / euklid.scm
Created October 11, 2013 17:15
euclidian algorithm
(define (euklid a b)
(if (= b 0) a (euklid b (modulo a b)))
)
(print (euklid 1071 1029))
(print (euklid 1029 1071))
@mabako
mabako / max-square-sum.scm
Created October 11, 2013 16:58
Calculates the sum of the squares of the two largest numbers in the list
(define (a8 a . r)
(let
(
(m (apply max r))
)
(if (>= a m)
(+ (quadrat a) (quadrat m))
(apply a8 (append r (list a)))
)
)
(define (primHelp num count)
(cond
((zero? (modulo num count)) #f)
((< count (sqrt num)) (primHelp num (+ count 1)))
(else #t)
)
)
@mabako
mabako / gist:4037837
Created November 8, 2012 09:46
java: read string into file
/**
* Read complete file into a String
*/
try(InputStream is = ...) {
try(Scanner s = new Scanner(is).useDelimiter("\\A")) {
return s.hasNext() ? s.next() : "";
}
}