
Witam.
Przedstawiam 256-bitowy klucz elektroniczny całkowicie własnej konstrukcji.
Istnieje wiele gotowych kluczy elektronicznych, które są pewnie nawet tańsze ale ja bardzo chciałem stworzyć coś samemu. Najbardziej zależało mi na napisaniu własnego protokołu łączności pomiędzy dwoma mikroprocesorami.
W roli klucza (czyli "nadajnika") będzie pracować mikroprocesor ATMEL Attiny13. Jest to mój ulubiony ponieważ mimo, że jest bardzo malutki i ma mało wyprowadzeń, mieści w sobie stosunkowo dużo programu, można go łatwo programować i wiele potrafi jak na takie rozmiary. Z resztą jakoś musiałem upchać mikroprocesor w małej obudowie.
Jeśli chodzi o odbiornik to jeszcze wersji końcowej nie ma, na razie zbudowałem tylko "na prętce" układ odbierający kod z klucza tak żeby napisać protokół łączności i sprawdzić czy to w ogóle będzie działać.
Do budowy klucza użyłem :
1. Mikroprocesor attiny13V (SMD)
2. Wtyk USB-b
3. Rezystor SMD
4. Dioda LED (SMD)
5. Dwa kondensatory (jeden SMD a drugi elektrolit)
6. Kawałek laminatu
7. Obudowa z wtyku big JACK
Jeśli chodzi o część programową klucza to została ona napisana w Bascomie. Program zajął około 500b pamięci flash klucza, czyli około połowy dostępnej pamięci. Większość pamięci zajęło 256-bitowe hasło.
Protokół nadawczy jest dość prosty, polega tylko na tym, że na jednej z nóżek pojawia się sygnał zegarowy z odpowiednią częstotliwością, a na drugiej reprezentowane są już kolejne bity hasła. Dzięki wykorzystaniu dwóch linii danych (czyli zegara i danych) uzyskałem stosunkowo dużą prędkość transmisji - cała procedura nadająca hasło, trwa tylko ułamek sekundy. Mógłbym uzyskać większą prędkość, ale tylko wtedy gdyby tiny13V był taktowany z kwarcu, ale niestety taktowany jest tylko z wewnętrznego zegara RC 9,6 Mhz.
Program odbiornika zajmuje około 3,5 kb pamięci flash procesora attiny2313. Protokół odbiorczy napisany w Bascomie i jest już dość skomplikowany. Wykorzystuje on przerwanie zewnętrzne INT0, dzięki czemu udało się uzyskać duża prędkość transmisji danych.
Na hasło składa się 256 bitów, z czego 4 pierwsze to bity staru, potem 16 bitów odpowiadających za ID użytkownika, następnie hasło a na samym końcu 4 bity stopu.
Zastanawiałem się czy łatwo jest złamać hasło ale w sumie kluczy może być 2 do potęgi 16 (tak aby sie nie powtarzały) a kombinacji hasła jest 2 do potęgi 256, więc wydaje mi się, że raczej ciężko było by trafić w właściwą kombinację.
Schematu klucza nawet nie chce mi się rysować bo po co

Cool? Ranking DIY