Re: Po drátě 4: Řešení úlohy č. 14Michal Kubeček (19. 11. 2009 - 11:05)
1. Ověření, jestli slabým článkem není session key. Nebyl...
2. Nastudování RFC 4880, vytažení hodnot n, e
3. nalezení rozkladu n = p * q, dopočítání f = (p-1)(q-1), určení e tak, aby de % f = 1 (rozšířený Eukleidův algoritmus), podobně u tak, aby pu % q = 1.
4. Sestavení minimalistické verze souboru s tajným klíčem podle RFC 4880, pokus o import do GPG. Neúspěšný...
5. Návrat k RFC 4880, vytažení zašifrovaného session key (z = m^e % n), dešifrování (m = z^d % n) a dekódování session key podle RFC 3447.
6. gpg --decrypt --override-session-key ... mail
Protože už jsem neřešil čas, při počítání (body 3 a 5) jsem si napsal vlastní "dlouhou aritmetiku". Teprve po vyřešení mi došlo, že jsem to celé mohl spočítat v bc, který jsem používal jen pro kontrolu při ladění. Proti Mathematice má navíc výhodu, že není potřeba nic převádět, když se nastaví ibase a obase na 16.
2. Nastudování RFC 4880, vytažení hodnot n, e
3. nalezení rozkladu n = p * q, dopočítání f = (p-1)(q-1), určení e tak,
aby de % f = 1 (rozšířený Eukleidův algoritmus), podobně u tak, aby
pu % q = 1.
4. Sestavení minimalistické verze souboru s tajným klíčem podle RFC
4880, pokus o import do GPG. Neúspěšný...
5. Návrat k RFC 4880, vytažení zašifrovaného session key (z = m^e % n),
dešifrování (m = z^d % n) a dekódování session key podle RFC 3447.
6. gpg --decrypt --override-session-key ... mail
Protože už jsem neřešil čas, při počítání (body 3 a 5) jsem si napsal
vlastní "dlouhou aritmetiku". Teprve po vyřešení mi došlo, že jsem to
celé mohl spočítat v bc, který jsem používal jen pro kontrolu při
ladění. Proti Mathematice má navíc výhodu, že není potřeba nic převádět,
když se nastaví ibase a obase na 16.