-
Data: 2018-03-02 11:11:08
Temat: Re: GAL
Od: Piotr Gałka <p...@c...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 2018-03-01 o 23:28, Adam Wysocki pisze:
> Poza tym szczerze mówiąc chciałbym najpierw wypełnić sobie lukę w głowie,
> dotyczącą GAL-i. Pamiętam że to zawsze była dla mnie czarna magia. Teraz
> koncepcyjnie już nie jest, ale praktycznie nadal jest :)
Użyliśmy GALi tylko w dwu projektach.
1. Klucz do zabezpieczenia oprogramowania HAK1 (+- 1991) w postaci
przejściówki Centronix przezroczystej dla drukarki.
W GALu zrobiliśmy maszynkę sekwencyjną mieszającą 5 bitowy stan z 5
bitową daną w nowy 5 bitowy stan. 1-bitowa funkcja stanu była sygnałem
zwrotnym. Działanie polegało na podaniu sekwencji 16-tu 5 bitowych liczb
i weryfikacji, czy kolejno odczytane bity są takie jak mają być. Można
to rozumieć jako 16 bitowy podpis 80 bitowych danych.
Klient dostawał swój indywidualny program który pozwalał mu ustalić
odpowiedź jego klucza na dowolne dane i w różnych miejscach programu
mógł testować obecność klucza sprawdzając podpis innych danych.
Problemem było ile i które fuse przepalić. Napisałem symulator pracy tej
maszynki i zauważyłem, że czasem maszynka ma tendencję trafiania w jakiś
jeden czy kilka stanów znacznie częściej niż w inne. Uznałem (nie wiem
czy słusznie), że tak nie powinno być więc nałożyłem jakieś ograniczenia
na liczbę kombinacji prowadzących do tego samego stanu i inne na
minimalną liczbę fuse różniących poszczególne klucze i zapuściłem
generowanie kolejnych kluczy. Komputer z 286-ką przez 3h wygenerował mi
(losowanie fuse i sprawdzenie warunków) 20 kluczy (generował też te
programy o których wspomniałem wcześniej). Szło mu coraz wolniej głównie
z powodu narzuconej liczby różnic między dowolnymi dwoma kluczami. Nie
męczyłem go dalej i uznałem, że na razie 20 wystarczy.
Gal potrzebował 5V i dość dużego prądu a w Centronix nie ma zasilania.
Diody z wszystkich linii i potrajacz napięcia (podwajacz nie zawsze się
sprawdzał) ładujący kondensator i potem praca z tego kondensatora.
Efektem ubocznym (nie zamierzonym) było to, że nie dało się łamać
zabezpieczenia puszczając program krokowo bo kondensator się
rozładowywał i wszystko siadało. Zauważył to jeden z odbiorców jak
próbował debuggować swój własny program i uznał za dużą zaletę.
Przy tym projekcie nie użyliśmy żadnego kompilatora GALi tylko stan
wszystkich fuse ustaliliśmy sami.
2. Dydaktyczny System mikroprocesorowy DSM-51. Tam były dwa GALe
dlatego, że pierwsza wersja systemu (1993) powstała na zamówienie
Politechniki Gdańskiej do laboratorium układów programowalnych.
Jeden był dekoderem adresów, a drugi sterownikiem przerwań. Fuse też
ustaliliśmy ręcznie, ale potem zrobiliśmy zapis równaniami z których
Palasm generował te nasze fuse, aby studenci mogli modyfikować
zachowanie dekodera adresów i sterownika przerwań (GALe były w podstawkach).
P.G.
Następne wpisy z tego wątku
- 02.03.18 12:39 Adam Wysocki
- 02.03.18 13:10 J.F.
- 02.03.18 13:19 J.F.
- 02.03.18 19:17 Mateusz Viste
- 04.03.18 18:43 Piotr Wyderski
- 07.03.18 13:27 J.F.
Najnowsze wątki z tej grupy
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
- stalowe bezpieczniki
- Wyświtlacz ramki cyfrowej
- bateria na żądanie
- pradnica krokowa
- Nieustający podziw...
- Coś dusi.
- akumulator napięcie 12.0v
- Podłączenie DMA 8257 do 8085
- pozew za naprawę sprzętu na youtube
- gasik
- Zbieranie danych przez www
Najnowsze wątki
- 2025-01-31 Lublin => Programista Delphi <=
- 2025-01-31 Łódź => Programista NodeJS <=
- 2025-01-31 Wrocław => Senior SAP Support Consultant (SD) <=
- 2025-01-31 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2025-01-31 Gdańsk => iOS Developer (Swift experience) <=
- 2025-01-31 Kraków => UX Designer <=
- 2025-01-31 Warszawa => Data Engineer (Tech Leader) <=
- 2025-01-31 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-01-31 Gliwice => Business Development Manager - Network and Network Security
- 2025-01-31 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-31 Warszawa => Full Stack .Net Engineer <=
- 2025-01-31 Warszawa => Programista Full Stack (.Net Core) <=
- 2025-01-31 Gdańsk => Programista Full Stack .Net <=
- 2025-01-31 Bieruń => Team Lead / Tribe Lead FrontEnd <=
- 2025-01-31 Błonie => Administrator systemów <=