Re:HP-50g - Titkosírás - Cryptography

85 views
Skip to first unread message

Mail from Pipás

unread,
Dec 1, 2010, 2:56:59 PM12/1/10
to szamo...@googlegroups.com
Nemrég beszélgettünk a titkosírás és a HP-49g+/50g kapcsolatáról. A beszélgetést ott fejeztük be hogy nem is lenne nehéz írni egy kódoló-dekódoló programot.
A beszélgetés:
https://groups.google.com/group/szamologep/browse_thread/thread/eed3e04c5b0c5334/b88b496c708df910?hl=hu&
A Tolosa által talált cikk az RSA rendszerű titkosírásról.
http://matek.fazekas.hu/portal/kutatomunkak/codes/codesm.html

Gondolkoztam a dolgon és megpróbáltam programot írni egy szöveg kódolására  és a kód visszafejtésére. Mivel a HP-n sok minden "előre le van programozva", nem lett hosszú a 2 program.

I. A kulcsok meghatározása:
=====================
1. Választok 2 prímszámot.  Pl.  p= 13 és q= 23.
2. Ezek szorzata lesz a Modulo a CAS menüben. n=13*23= 299
3. Kiszámítom k-t úgy hogy MOD(k, (p-1)*(q-1))= 1 legyen.
    (13-1)*(23-1)= 264
    k=264+1= 265
4. K-t felbontom 2 egész szám szorzatára. Pl: 5*53= 265
    ( FACTOR(265) )
    Ez a 2 szám lesz a kódoló és dekódoló kulcs.
    D= 53  (decoding, titkos)
    E= 5    (encoding, közzétett)

Vagyis a közzétett kulcs: n= 299 és E= 5.
A titkos kulcs: D= 53

A n= p*q azért kellett hogy 299 legyen, mert feltétel hogy az üzenet n-nél kisebb számok sorozata kell hogy legyen. Ha betűk számkódolása az ASCII kódjuk alapján történik, ennek legnagyobb értéke 255 lesz, ez kisebb mint n= 265.

II. Kódolás.
========
Bemenet: Egy két idézőjel közti szöveg.
Kimenet: Egy lista a kódolt számsorral.

<<  DUPDUP  SIZE S ->
     <<  S 1  -  1  SWAP
           FOR N
               NUM  SWAP TAIL DUP
           NEXT
           DROP  NUM  S  ->LIST
      >>
      299 MODSTO 5 POWMOD
      13 MODSTO 
>>

A program a szöveg karaktereinek számát "S" lokális változóba teszi (SIZE).
A FOR ciklus S-1 -szer fut le.
A szöveg első karakterét ASCII kóddá alakítja (NUM) és a szövegből kivonja az első karaktert. (TAIL)
A ciklus utáni rész az egyik fölösleges utolsó karaktert dobja, a másikat ASCII kóddá alakítja, és az összes számmá alakított betűt egy S méretű listába teszi. (Szóljatok ha megint túl zavaros! :-)

Aztán: 299-es Modulo beállítása (MODSTO), a maradékos hatványozás elvégzése a listán, majd Modulo 13 vissza.


III. Dekódolás.
==========
Bemenet: Lista a kódolt számsorral.
Kimenet: A visszafejtett szöveg.

<< 299  MODSTO  53 POWMOD  13 MODSTO
     CHR   ΣLIST  >>

Hát ez ennyi.
299-es Modulo, hatványozás 53-al, 13-as Modulo, a visszafejtett ASCII lista betűlistává alakítása (CHR), majd a listában lévő karakterek { "A"  "B" } összeadása szöveggé egyetlen utasítással (ΣLIST !!!)

Jók a gép listán végzett utasításai (hatványozás, összeadás) amik végül is gyárilag megírt ciklusok. Ezzel együtt a program nem túl gyors. Egy közepes mondaton kb. 3 másodpercig rágódik, de még nem mértem meg pontosan. Az n= 299 ellenére az ékezetes betűket nem igazán értékeli. :-(

Szóval még nyers a dolog (piszkozat) de gondoltam megmutatom. Az esetleges észrevételeket,ötleteket szívesen veszem. Valamint válaszolok ha van valamilyen kérdés.




Sanyi

unread,
Dec 2, 2010, 12:33:30 AM12/2/10
to számológép
Na, ezt megpróbálom majd átbogarászni ;)
Érdekel a titkosítás és az ilyen modulós, stb. dolgok, csak egy kicsit
sokáig tart, mire teljesen megértem ;)


On dec. 1, 20:56, Mail from Pipás <pipa...@gmail.com> wrote:
> Nemrég beszélgettünk a titkosírás és a HP-49g+/50g kapcsolatáról. A
> beszélgetést ott fejeztük be hogy nem is lenne nehéz írni egy
> kódoló-dekódoló programot.
> A beszélgetés:https://groups.google.com/group/szamologep/browse_thread/thread/eed3e...
> A Tolosa által talált cikk az RSA rendszerű titkosírásról.http://matek.fazekas.hu/portal/kutatomunkak/codes/codesm.html

tolosa

unread,
Dec 2, 2010, 12:49:36 PM12/2/10
to számológép
Pipás, találtam egy másik linket is az RSA-titkosítással kapcsolatban.
Most azt böngészve próbálom megérteni a leírásodat, mert bevallom,
nekem ez így -bocsi- tényleg zavaros. Persze ez az én hibám, lassú a
felfogásom. Viszont a téma szerfelett érdekel, ezért mindenképpen
átrágom magam, ha lassan is.

http://vassanyi.ginf.hu/info/rsa/index.html

tolosa

unread,
Dec 2, 2010, 12:50:23 PM12/2/10
to számológép
Na, most látom, Sanyi szintúgy van vele, mint én.:-)

Pipás

unread,
Dec 2, 2010, 1:23:33 PM12/2/10
to számológép
Tolosa, itt van három idézet az általad talált cikkből. Én ennek
alapján okoskodtam. (Hátha a cikkíró kevésbé zavarosan fogalmaz mint
én? :-)

1. A kulcsok meghatározása.
=====================
"Az RSA titkosírásrendszert használva az üzenet címzettje választ két
nagy p és q prímet, kiszámítja szorzatukat, n = p · q, majd keres egy
k egészt, ami 1 maradékot ad (p - 1) (q - 1)-gyel osztva. Ha k
felbontható két egész, E (az encoding, vagyis titkosítás szóból) és D
(a dekódolás szóból) szorzatára, akkor bármely a egészre ( ) ak = aE D
- a mod n"

2. Kódolás
========
Bárkinek, aki üzenetet akar neki küldeni, a címzett megadja az n és E
értékeket, azzal az utasítással, hogy az üzenet n-nél kisebb számok
sorozata legyen. A feladó az üzenetben minden számot E-edik hatványra
emel, majd a hatványt modn redukálja. Az így kapott számokat küldi el
a címzettnek.

3. Dekódolás
==========
Amikor a címzett megkapja a titkosítás utáni számsorozatot, abban
minden számot D-edik hatványára emel, és veszi a hatvány n-nel osztva
adott maradékát. Az eredmény az eredeti, titkosítás előtti
számsorozat.

"minden számot E-edik hatványra emel, majd a hatványt modn redukálja"
= POWMOD utasítás.

"választ két nagy p és q prímet, kiszámítja szorzatukat, n = p · q," =
Modulo érték a CAS-ban = MODSTO utasítás a programban.

Mail from Pipás

unread,
Dec 2, 2010, 2:08:25 PM12/2/10
to szamo...@googlegroups.com
Végeztem egy pár sebességi tesztet a programokkal. Ehhez 2 szövegállományt választottam.

1: AMIGOS
Mérete: 97 karakter
Kódolás: 4.2762 sec
Visszafejtés: 5.2225 sec

2. TXT2
Mérete: 340 karakter
Kódolás: 16.8408 sec
Visszafejtés: 19.3123 sec

Vagyis a kódolás sebessége 20-22 karakter/sec, a visszafejtésé pedig 17-18 karakter/sec. Ezzel az értékkel számolva 1 kbyte adat (1024 karakter) kódolása durván 49, visszafejtése pedig 57 másodpercig tartana.
A program leglassabb utasítása szerintem a POWMOD. A visszafejtés is azért lassabb mert itt a hatványkitevő 53 még a kódolásnál csak 5.
A POWMOD utasítás nélkülfuttatott kódoló program 3.0187 sec alatt alakítja át a TXT2 szöveget ASCII listává.

Képek.
Decoded: Az AMIGOS szöveg.
Encoded: A titkosított AMIGOS.

Programok.
A feltöltött programok SD kártyán kereszül a gépre másolva futtathatók.
A számítógépre letöltött program az egérrel az emulátor kijelzőjére húzva elmenthető, vagy az EVAL gombbal futtatható.

Decoded.JPG
Encoded.JPG
ENCODE
DECOD
AMIGOS
TXT2

tolosa

unread,
Dec 2, 2010, 3:38:04 PM12/2/10
to számológép
Megint nagyot alkottál, Pipás! Szinte lehetetlen követni Téged a
géppel való ismerkedésben.
Viszont ezt a programodat fel kéne tenned a hpcalc.org-ra, mert a maga
nemében különleges témát érint.
>  Decoded.JPG
> 31KMegtekintésNézet
>
>  Encoded.JPG
> 38KMegtekintésNézet
>
>  ENCODE
> < 1kBMegjelenítésLetöltés
>
>  DECOD
> < 1kBMegjelenítésLetöltés
>
>  AMIGOS
> < 1kBMegjelenítésLetöltés
>
>  TXT2
> < 1kBMegjelenítésLetöltés

Pipás

unread,
Dec 3, 2010, 1:48:23 AM12/3/10
to számológép
Kösz Tolosa, de az az igazság hogy egyenlőre még én is csak azt értem,
hogy hogy kell titkosítani a szöveget. Hogy miért kell így, azt még
előttem is jótékony homály fedi. De hát közösen majdcsak kiderítjük
ezt is előbb-utóbb. :-)

Sanyi

unread,
Dec 3, 2010, 4:15:41 AM12/3/10
to számológép
Apropó titkosítás, RSA, stb....
Nem tudom ez már szóba került-e (lehet hogy már igen) :
http://en.wikipedia.org/wiki/Texas_Instruments_signing_key_controversy

tolosa

unread,
Dec 3, 2010, 5:05:24 AM12/3/10
to számológép
Csak lazán kapcsolódik a dologhoz, de egyre több helyen olvasom, hogy
problémák merülnek fel az Nspire-hekkeléseknél. Nevezetesen amikor
valaki a "ndless" és az "nleash" programok segítségével visszaállítja
a régebbi OP-rendszert /lefagyások, behalások/.
Szóval -azt hiszem- én egyelőre tényleg maradok az újabb
rendszeremnél, nem kockáztatok /2.1.0.631/

Sanyi

unread,
Dec 3, 2010, 12:01:13 PM12/3/10
to számológép
Elkezdtem gondolkodni egy titkosító/visszafejtő programon, igaz, egy
jóval egyszerűbb algoritmust fogok használni ;)
Lehet hogy a napokban megírom majd a TI-92-re.

Pipás

unread,
Dec 3, 2010, 1:31:57 PM12/3/10
to számológép
> Elkezdtem gondolkodni egy titkosító/visszafejtő programon

Végül is ezt a módszert is használhatod a TI-n, Sanyi. Ugyanis a TI-92-
n is van MOD() függvény. Amit mi a HP-n n-ként írunk be a Modulo
értékének, az nálad a MOD fügv. 2. paramétere.
Az órahasonlatot véve alapul ahol a Modulo n=12 ki is próbálhatod a
következőt:

Mod(16,12)= 4. vagyis 16 óra az délután 4 óra.

Vagy azt hogy igaz-e hogy:
Mod(7,12)+Mod(8,12) = Mod(7+8, 12) (:-)

Vagy elvégezhetsz egy maradékos hatványozást is:
Mod(19^7,12)= 7

Vagy legyen n=22, E=7, D=3 és a 14-es számot akarod titkosítani.
Mod(14^7,22)= 20

A címzett így fejti vissza a titkos üzenetet:
Mod(20^3,22)= 14.

Egész jó, nem igaz? :-)

Sanyi

unread,
Dec 4, 2010, 4:31:52 PM12/4/10
to számológép
"Végül is ezt a módszert is használhatod a TI-n, Sanyi."

Á, én most még egy egyszerűbbön töröm a fejem ;)
A lényege az lesz, hogy egy adott jelszóval titkosít egy szöveget
(stringet).
Az alapelv klasszikus: a jelszó karaktereivel (illetve annak
karakterkódjaival) fogom "elcsúsztatni" a kódolandó szöveg
karaktereit.

Pipás

unread,
Dec 5, 2010, 4:02:08 AM12/5/10
to számológép
Ez is egy érdekes feladat lesz.

Találtam egy linket a titkosírásról (kódokról):
http://www.di-mgt.com.au/crypto.html
Valamint ezen belül az RSA algoritmusról is.
http://www.di-mgt.com.au/rsa_alg.html

Meg amúgy is egész jó ez a honlap. :-) Nem tudom volt-e már.

Sanyi

unread,
Dec 6, 2010, 3:12:20 AM12/6/10
to számológép
Off: "élménybeszámoló" a HP-19B II-ről ;)
http://szamologep.blogspot.com/2010/12/az-en-hp-19b-ii-m.html


On dec. 5, 10:02, Pipás <pipa...@gmail.com> wrote:
> Ez is egy érdekes feladat lesz.
>
> Találtam egy linket a titkosírásról (kódokról):http://www.di-mgt.com.au/crypto.html
> Valamint ezen belül az RSA algoritmusról is.http://www.di-mgt.com.au/rsa_alg.html

ext

unread,
Dec 7, 2010, 6:20:33 AM12/7/10
to számológép
OFF. Pipás,megjött a HP49G.
Nekem a csatlakozó teljesen nyitott rész...
Ez lehet?
A kábel meg nem is belevaló..:(
Honnan tudok szerezni 1et?
A kábel csatlakozónál nem kellene valami gumi dugónak lenni?


On dec. 5, 10:02, Pipás <pipa...@gmail.com> wrote:
> Ez is egy érdekes feladat lesz.
>
> Találtam egy linket a titkosírásról (kódokról):http://www.di-mgt.com.au/crypto.html
> Valamint ezen belül az RSA algoritmusról is.http://www.di-mgt.com.au/rsa_alg.html

ZilogR

unread,
Dec 7, 2010, 8:26:03 AM12/7/10
to számológép
Szia!

Nekem igaz 48SX-em van, de úgy tudom/rémlik, h a HP ezeket nem nagyon
szokta "ledugózni". Érthető is: Ha bele kell dugni vmit, akkor a dugót
ki kell szedni, azt elhagyod, úgyse lehet utána pótolni, stb, stb...
Ráadásul nem valószínű, h beleborítasz valamit, tehát nem lesz ezzel
baj.

Nekem nagyon sokáig tartott, míg szereztem 4 lyukas HP csatlakozósról
RS232-re alakító kábelt, de kitartás. Akkor még ebay se volt...
(Legalábbis nem nekem...) Ellenben ekkor még lehetett ilyen számolót
boltban kapni Budapesten.

ext

unread,
Dec 7, 2010, 8:34:42 AM12/7/10
to számológép
Viszont, a kis Casio 4500P nagyon jó...
Szeretem nagyon.
Pici, vékony, kezelhető!
Ez viszont lényegesen többet tud. Most egy életre van
tanulnivalóm... :)))

tolosa

unread,
Dec 7, 2010, 8:51:31 AM12/7/10
to számológép
Valóban így van, mert pl. az én HP-49G+ gépem USB csatiján sincs sem
ledugózás, sem fedél. Pedig újan vettem.

On dec. 7, 14:26, ZilogR <zil...@freemail.hu> wrote:

Pipás

unread,
Dec 7, 2010, 11:49:18 AM12/7/10
to számológép

Sanyi

unread,
Dec 7, 2010, 12:21:42 PM12/7/10
to számológép
Ext, gratulálok én is a gépedhez ;)
Jó ismerkedést az RPN-nel és a HP gépek lelkivilágával ;)

On dec. 7, 17:49, Pipás <pipa...@gmail.com> wrote:
> >A kábel meg nem is belevaló..:(
> >Honnan tudok szerezni 1et?
>
> Itt találtam egy párat. A tied nem hasonló?http://shop.ebay.com/?_from=R40&_trksid=p5197.m570.l1313&_nkw=hp+49g+...
>
> http://cgi.ebay.com/HP-48G-GX-48S-SX-49G-38G-39G-SERIAL-CABLE-KIT-New...
>
> Gratulálok az új gépedhez!

ext

unread,
Dec 7, 2010, 3:02:30 PM12/7/10
to számológép
Köszi, Bábel....
Ebben is segíthetnétek az alapoktól.
Köszi

Sanyi

unread,
Dec 7, 2010, 3:20:47 PM12/7/10
to számológép
:)
Az RPN-ről egy kis elmélet a Wikipédiában:
http://hu.wikipedia.org/wiki/Ford%C3%ADtott_lengyel_jel%C3%B6l%C3%A9s

Emlékszem, amikor először nézegettem egy RPN számológépet (tán pont
egy HP-48-at) egy francia város Lafayette áruházában, még az
alapműveleteket sem tudtam rajta elvégezni - ami nem csoda, hiszen
semmit sem tudtam még az RPN-ről :)

Sanyi

unread,
Dec 7, 2010, 3:23:41 PM12/7/10
to számológép
Apropó, szerintem hozzunk létre egy külön topikot HP-48 vagy
"ismerkedés az RPN-nel" címen, hogy ezt meghagyjuk a titkosításos
témának ;)

ext

unread,
Dec 14, 2010, 10:58:01 AM12/14/10
to számológép
Ha időd engedi majd, a bevitelt elmagyarázod nekem?
Köszi

On dec. 1, 20:56, Mail from Pipás <pipa...@gmail.com> wrote:
> Nemrég beszélgettünk a titkosírás és a HP-49g+/50g kapcsolatáról. A
> beszélgetést ott fejeztük be hogy nem is lenne nehéz írni egy
> kódoló-dekódoló programot.
> A beszélgetés:https://groups.google.com/group/szamologep/browse_thread/thread/eed3e...
> A Tolosa által talált cikk az RSA rendszerű titkosírásról.http://matek.fazekas.hu/portal/kutatomunkak/codes/codesm.html

Pipás

unread,
Dec 14, 2010, 2:26:41 PM12/14/10
to számológép
Mit nem értesz konkrétan?

ext

unread,
Dec 15, 2010, 4:16:39 AM12/15/10
to számológép
Azt,hogy hogyan kell bevinnem a gépbe.(beállítások)..

ext

unread,
Dec 7, 2011, 8:43:09 AM12/7/11
to szamo...@googlegroups.com
Szia Pipás!
Ez a titkosírás elfut szerinted a 48gII is?

Pipás

unread,
Dec 7, 2011, 1:24:58 PM12/7/11
to szamo...@googlegroups.com
>Ez a titkosírás elfut szerinted a 48gII is?
Hááát... Szerintem... A puding próbája az evés. :)

ext

unread,
Dec 7, 2011, 2:14:23 PM12/7/11
to számológép
valamire nem emlékszem... Nem muzsikál rendesen. :)

Pipás

unread,
Dec 7, 2011, 3:15:55 PM12/7/11
to szamo...@googlegroups.com
És a 49g-n muzsikál?

A, V

unread,
Dec 8, 2011, 1:24:20 AM12/8/11
to szamo...@googlegroups.com
Azt már csak a ZiloghR tudja... :)

2011/12/7 Pipás <pip...@gmail.com>
És a 49g-n muzsikál?

Pipás

unread,
Dec 8, 2011, 2:47:20 AM12/8/11
to szamo...@googlegroups.com
>Azt már csak a ZiloghR tudja... :)

Nahát hogy ti mit összeüzleteltek... :)
Ez esetben próbáld meg hangolgatni a programot hogy rendesebben muzsikáljon. ;)

ext

unread,
Dec 8, 2011, 3:11:10 AM12/8/11
to szamo...@googlegroups.com
Pipás,csak pici segítség kellene. Lehet,hogy rosszul írtam be valamit.
Az, hogy a program beírásánál a következő sorba ugrasztod a parancsokat, annak van jelentősége?
Esetleg a berögzített utasítás készletet kellene megnéznem?

ZilogR

unread,
Dec 8, 2011, 6:54:16 AM12/8/11
to szamo...@googlegroups.com
Lebuktam :)

Én csak nemes mérnöki számításokra fogom használni, nem holmi prímszámos vásári mutatványokra ;) :) :DDD
Aztán már csak a szimbolikus matekját kell ráizzítani a Riemann-sejtésre és nem kell többé ez a modulo-s hókuszpókusz... :DDD


Pipás

unread,
Dec 8, 2011, 12:38:25 PM12/8/11
to szamo...@googlegroups.com
>Az, hogy a program beírásánál a következő sorba ugrasztod a parancsokat, annak van jelentősége?
Nincs.

>Esetleg a berögzített utasítás készletet kellene megnéznem?
Mindenképpen nézd meg hogy tudja-e a géped a kívánt utasításokat.

Pipás

unread,
Dec 8, 2011, 12:48:25 PM12/8/11
to szamo...@googlegroups.com
>Lebuktam :)
Ja. Kis ország ez. :)) 
>Lebuktam :)

>Aztán már csak a szimbolikus matekját kell ráizzítani a Riemann-sejtésre
Akkor viszont 50g-t kellett volna szerezned. Az hetekig-hónapokig elmegy USB tápról is. :))

Pipás

unread,
Dec 8, 2011, 1:21:03 PM12/8/11
to szamo...@googlegroups.com
Off

Ti nem jártatok úgy mostanában hogy:
  • Szöveg beírása közben elindul felfelé az alsó gördítősáv és eltakarítja az egész szöveget a látómezőből? Halálra idegesít. Ezért bukott le szegény ZR kétszer.
  • Néha meg kimászik a szöveg a bal kereten túlra. Minél tovább variálják, annál jobb lesz ez a Google. :(

EndOff

A, V

unread,
Dec 9, 2011, 1:21:00 AM12/9/11
to szamo...@googlegroups.com
Én igen. Engem is bosszant.
Reply all
Reply to author
Forward
0 new messages