Nº133 (5/2001)
Download :
|
Confirmation : La prochaine visu du CEO aura lieu le samedi 9 juin de 14 heures à 18 heures dans la salle habituelle du 17, rue des Petits-Hôtels 75010 PARIS (à côté des gares de l?Est, du Nord et du bd Magenta). Ouvert à tous, le petit mâchon optionnel aura lieu comme d?habitude, avant la visu c?est à dire vers 12H30, au «Relais des Deux Gares», sur le bd Magenta, en face de la rue des Petits Hôtels. |
|
Metro Cross : Avec cette nouvelle technique, lancez-vous dans l’animation.
Monsieur Spock donne des explications sur le Synthétiseur Vocal. Le Programme du Mois : Enigma de Roger Barbier, versions Jasmin et Sedoric, pour crypter vos texte et surtout pour vous amuser !
Finalement et grâce à Fabrice, il arrive enfin et pour de bon : lOric Portable !
|
|
|
|
|
|
sommaire
|
Adresses CEO / Sommaire / Editorial |
|
Page 2
|
Courrier Oricien |
|
Page 3-4
|
Petites Annonces |
|
Page 5-6
|
Sortie CD-audio : Le Stockage «Infini» pour Oric |
|
Page 7
|
Utilitaires K7 : LCAT / K7 et SCAT |
|
Page 7
|
La Libairie Oric (24) |
|
Page 8-10
|
Aide pour Rush Hour (levels 21-26) |
|
Page 11
|
Divertissements Mathématiques et Logiques |
|
Page 12-13
|
Le Coin Jasmin : Enigma |
|
Page 14-17
|
L?Oric Portable : 1 - Les Batteries |
|
Page 18-21
|
Metro Cross : La Routine Movhaut |
|
Page 22-23
|
Le Synthétiseur Vocal de Micro-Systèmes (4) |
|
Page 24-27
|
Abonnements / Anciens Numéros / Anciennes Disquettes |
|
Page 30 |
|
ENIGMA était le nom de la machine à encrypter et décrypter les messages, utilisée par les Allemands pendant la seconde guerre mondiale. Son fonctionnement fut analysé par le mathématicien Alan Turing, ce qui permit de renverser la situation et de gagner la guerre sous-marine. Alan Turing est par ailleurs un des fondateurs de l?informatique.
Ce programme effectue un cryptage par substitution pseudo-aléatoire à l?aide de la fonction RND de l?Oric. Le texte traité est impossible à décrypter sans la clef et sans un Oric ou une machine générant les mêmes séries que la fonction RND.
Les textes sont stockés en :
#3000 - Texte en clair en entrée.
#4000 - Texte encrypté.
#5000 - Texte décrypté.
L?adresse de fin de fichier se trouve dans les deux premiers octets.
Ce programme est sous FTDOS. Modifiez les lignes 4160 et 5180 pour adaptation Sedoric.
Devinette : En guise d?essai, charger le fichier ESSAI.TXT (distribué avec le fichier ENIGMA.BAS sur la disquette trimestrielle de juin) et le décrypter, mais avec quelle clef ? Allons voyons, un mot de quatre lettres ! Sur ce clavier rouge et noir, c?est simple !
0 'ENIGMA 9911
1 ' R.Barbier
10 CLS:PAPER0:INK7
20 HIMEM#2FFF:AT=#3000:AC=#4000:AA=#5000:EF$=CHR$(8)
30 DIMTT(37)
40 FORI=0TO11:TT(I)=I+46:NEXT
50 FORI=12TO37:TT(I)=I+53:NEXT
60 TT(1)=47
70 GOSUB9000
99 '--------MENU
100 CLS:PRINT:PRINTCHR$(27);"J ENIGMA"
110 PRINTCHR$(27);"J ENIGMA":PRINT
120 PRINT" ENCRYPTAGE ET DECRYPTAGE
130 PRINT" DE MESSAGES":PRINT
140 PRINT:PRINT"T -TEXTE. Saisir en clair ou encrypt{
150 PRINT:PRINT"E -ENCRYPTER le texte en m{moire
160 PRINT:PRINT"D -DECRYPTER le texte en m{moire
170 PRINT:PRINT"C -CHARGER TEXTE (disque)
180 PRINT:PRINT"S -SAUVER TEXTE (disque)
190 PRINT:PRINT"L -LIRE TEXTE entr{/encrypt{/d{crypt{
200 PRINT:PRINT"I -IMPRIMER
205 PRINT:PRINT"N -NOTICE
210 PRINT:PRINT"Q -QUITTER
220 PRINT:PRINT"Votre choix ";
230 GETCH$
240 IFCH$="T"THENGOSUB1000:GOTO100
245 IFCH$="E"THENGOSUB1169:GOTO100
250 IFCH$="D"THENGOSUB2000:GOTO100
260 IFCH$="C"THENGOSUB4000:GOTO100
270 IFCH$="S"THENGOSUB5000:GOTO100
280 IFCH$="N"THENGOSUB6000:GOTO100
290 IFCH$="L"THENGOSUB3000:GOTO100
300 IFCH$="I"THENGOSUB3000:GOTO100
310 IFCH$="Q"THENCLS:END
320 GOTO230
330 GOTO1140
1000 CLS'-------ENTREE TEXTE
1010 PRINT"Voulez vous:":PRINT
1030 PRINT" (C) Entrer un texte a crypter
1040 PRINT" (D) Entrer un texte a d{crypter
1050 GETA$
1060 IFA$="D"THEN 2080
1070 IFA$<>"C"THEN1010
1100 CLS:PRINT SPC(10);"ENTREZ LE TEXTE
1110 PRINT"Sont admis: Lettres majuscules, Point
1120 PRINT"Espace et Chiffres"
1125 PRINT"Les caract}res ill{gaux seront supprim{s"
1126 PRINT"Terminer par RETURN":PRINT:PRINT:PRINT
1130 A=AT+2:ER=0
1140 GOSUB5330:IFA$="*"THEN1160
1150 GOTO1140
1160 DOKEAT,A:DOKEAC,AC:DOKEAA,AA
1162 POKEAC+2,42:POKEAA+2,42
1164 CLS:PRINT"Encrypter maintenant (E) ou Menu (M) ?"
1165 GETA$:IFA$="M"THEN RETURN
1166 IFA$<>"E"THEN1164
1168 '----------ENCRYPTER
1169 CLS:GOSUB5230:CLS:PRINT"PATIENTEZ. Je ne suis qu'un Oric !
1170 ES=0:AE=AC+2:LG=0:PRINT
1180 FORI=AT+2TODEEK(AT)
1190 C=PEEK(I)
1200 IFC=42THENPING:POKEAE,42:GOTO1290
1210 IFC=32 THENCT=1:GOTO1260
1220 IFC<46ORC>90THENER=ER+1:I=I+1:GOTO1190
1230 IFC<58THENCT=C-46:GOTO1260
1240 IFC<65THENER=ER+1:I=I+1:GOTO1190
1250 CT=C-53
1260 CT=CT+INT(RND(1)*38):IFCT>37THENCT=CT-38
1265 PRINTCHR$(TT(CT));
1270 POKEAE,TT(CT):AE=AE+1
1280 ES=ES+1:IFES=5THENES=0:LG=LG+1:POKEAE,32:PRINT" ";:AE=AE+1:CALL#FB2A
1281 IFLG=6 THENLG=0:PRINT
1290 NEXT
1300 PRINT:PRINT"Texte encrypt{.(De ";HEX$(AC);" @ ";HEX$(AE)")"
1310 IFER<>0THENPRINT"Caract{res ill{gaux supprim{s:"ER
1320 DOKEAC,AE
1321 PRINT:PRINT"Relire (R) ou Menu (M) ?"
1322 GETC$:IF C$="R" THENA$="E":GOTO3090
1323 RETURN
2000 '--------DECRYPTER
2010 CLS:GOTO2140
2080 CLS:PRINT"Entrez le texte @ d{crypter.
2090 PRINT:PRINT"Les espaces peuvent etre omis.":PRINT
2100 A=AC+2
2110 GOSUB5330
2120 IFA$<>"*"THEN2110
2130 PRINT:PRINT"Fin du texte":PRINT:PRINT
2132 DOKEAT,AT:DOKEAA,AA:DOKEAC,A
2133 POKEAT+2,42:POKEAA+2,42
2134 PRINT"D{crypter maintenant (D) ou Menu (M) ?"
2135 GETA$:IFA$="M"THEN RETURN
2136 IFA$<>"D"THEN2134
2140 PRINT:PRINT:GOSUB5230
2150 PRINT:PRINT
2160 AI=AA+2:FF=DEEK(AC)
2170 FORI=AC+2TOFF
2180 C=PEEK(I)
190 IFC=42THENPING:POKEAI,42:I=FF:GOTO2270
2200 IFC=32THENCALL#FB2A:GOTO2270
2210 IFC<58THENCT=C-46
2220 IFC>64THENCT=C-53
2230 CT=CT-INT(RND(1)*38):IFCT<0THENCT=CT+38
2240 CD=(TT(CT)):IFCD=47THENCD=32
2250 POKEAI,CD:PRINTCHR$(CD);
2260 AI=AI+1
2270 NEXT
2280 PRINT:PRINT:PRINT"Texte d{crypt{ (De ";HEX$(AA);" @ "HEX$(AI)")":DOKEAA,AI
2290 A$="D"
2293 PRINT:PRINT"Relire (R) ou Menu (M) ?"
2294 GETC$:IF C$="R" THENJ=AA:GOTO3090
2295 RETURN
3000 '-------VISUALISER-IMPRIMER
3010 CLS:IFCH$="L"THEN P$=" lire "
3020 IFCH$="I"THEN P$=" imprimer "
3030 PRINT:PRINT"Voulez vous";P$;"le texte:"
3040 PRINT:PRINT" C-Clair
3050 PRINT:PRINT" E-Encrypt{
3060 PRINT:PRINT" D-D{crypt{
3070 PRINT
3080 GETA$
3090 CLS:TX$="-Arret/Reprise:Espace -Menu:autre":GOSUB5300
3100 IFA$="C"THENJ=AT:GOTO3130
3110 IFA$="E"THENJ=AC:GOTO3130
3120 IFA$<>"D"THENPING:GOTO3080ELSEJ=AA
3130 AF=DEEK(J):K=0:PRINT
3140 IFCH$="I"THENCALL#C816
3150 FORI=J+2TOAF
3160 PRINTCHR$(PEEK(I));:K=K+1
3165 IFA$="E" AND K=36 THEN PRINT:K=0
3170 IFKEY$<>""THEN3210
3180 NEXT:PRINT:PRINT:CALL#C82F
3190 TX$=" ":GOSUB5300:GOSUB5290
3200 RETURN
3210 GETA$:IFA$=" "THEN3180
3220 I=AF:GOTO3180
4000 '-------DISQUETTE
4010 CLS
4020 PRINT:PRINT"Charger un texte:
4030 PRINT" 1- En clair
4040 PRINT" 2- Encrypt{
4050 PRINT:PRINT:PRINT"Votre choix";
4060 GETCH$
4070 IFCH$="2"THENDC=AC:GOTO4100
4080 IFCH$<>"1"THENPING:GOTO4060
4090 DC=AT
4100 PRINT:PRINT"Nom du fichier @ charger"
4110 PRINT" sans l'extension"
4120 INPUT"(abandon par '/' )";NM$
4130 IFLEN(NM$)>8THENNM$=LEFT$(NM$,8)
4140 IFNM$="/"THENRETURN
4150 NM$=NM$+".TXT,"+HEX$(DC)
4160 'Si SEDORIC modif 4150 par 4170
4170 'NM$=NM$+".TXT,A"+HEX$(DC)
4180 !LOAD NM$
4190 PRINT:PRINT:PRINT"Fichier ";NM$;" Charg{
4192 IF CH$="2" THEN A$="E"
4194 IF CH$="1" THEN A$="C"
4200 PRINT:PRINT"Lire maintenant (L) ou Menu (M) ?"
4202 GETC$:IF C$="L" THEN3090
4204 RETURN
5000 '-------
5010 CLS
5020 PRINT:PRINT"Sauver un texte:
5030 PRINT" 1- En clair (original)
5040 PRINT" 2- Encrypt{
5050 PRINT" 3- En clair d{crypt{
5060 PRINT:PRINT:PRINT"Votre choix";
5070 GETCH$
5080 IFCH$="3"THENDC=#5000:GOTO5120
5090 IF CH$="2"THENDC=#4000:GOTO5120
5100 IFCH$<>"1"THENPING:GOTO5070
5110 DC=#3000
5120 PRINT:PRINT"Nom du fichier @ sauver"
5130 PRINT" sans l'extension"
5140 INPUT"(abandon par '/' )";NM$
5150 IFLEN(NM$)>8THENNM$=LEFT$(NM$,8)
5160 IFNM$="/"THENRETURN
5170 NM$=NM$+".TXT,"+HEX$(DC)+","+HEX$(DEEK(DC))
5180 'Si SEDORIC modif 5170 par 5190
5190 'NM$=NM$+".TXT,A"+HEX$(DC)+",E"+HEX$(DEEK(DC))
5200 !SAVENM$
5210 PRINT:PRINT:PRINT"Fichier ";NM$;" Sauv{
5220 GOSUB5290:RETURN
5230 '---------CLEF
5240 PRINT"Entrez votre clef"
5250 INPUT"4 lettres ou chiffres";CS$
5260 POKE#FA,#80
5270 FORI=1TO4:POKE#FA+I,ASC(MID$(CS$,I,1)):NEXT
5280 RETURN
5290 PRINT"Presser une touche";:PING:GETA$:RETURN
5300 LL=LEN(TX$):LP=#BB80
5310 FORK=1TOLL:POKELP+K,ASC(MID$(TX$,K,1)):NEXT
5320 RETURN
5330 '--------ENTREE TOUCHE
5340 PRINT" ";:PRINTEF$;:GETA$:CA=ASC(A$)
5350 IFCA=13THENA$="*":POKEA,42:GOTO5380
5360 IFCA=127THENA=A-1:GOTO5380
5370 POKEA,CA:A=A+1
5380 PRINTA$;
5390 RETURN
6000 '--------EXPLICAT
6010 CLS:PRINT" EXPLICATIONS
6020 PRINT:PRINT
6030 PRINT" ENIGMA {tait le nom de la machine @
6040 PRINT"encrypter et d{crypter les messages"
6050 PRINT"utilis{e par les Allemands pendant la 2me Guerre Mondiale.
6060 PRINT" Son fonctionnement fut analys{ par lemath{maticien Alan ";
6070 PRINT"Turing,ce qui per- mit de renverser la situation et de gagner la ";
080 PRINT"guerre sous-marine.
6090 PRINT" Alan Turing est par ailleurs un des fondateurs de l'informatique.
6100 PRINT:PRINT" Ce programme effectue un cryptage parsubstitution pseudo-al{atoire";
6110 PRINT" a l'aidede la fonction RND de l'Oric.
6120 PRINT"Le texte trait{ est impossible @ d{crypter sans la clef et sans ";
6130 PRINT" un Oric ou une machine g{n{rant les m}mes s{ries que la fonction RND.
6140 PRINT:PRINT:GOSUB5290
6150 CLS:PRINT:PRINT" Les textes sont stock{s en:":PRINT
6160 PRINTTAB(5);HEX$(AT);TAB(12);"- Texte en clair en entr{e.
6170 PRINTTAB(5);HEX$(AC);TAB(12);"- Texte encrypt{.
6180 PRINTTAB(5);HEX$(AA);TAB(12);"- Texte d{crypt{.
6190 PRINT:PRINT" L'adresse de fin de fichier se trouvedans les 2 premiers octets.
6200 PRINT:PRINT" Ce programme est sous FTDOS. (Lignes 4160 et 5180 pour ";
6210 PRINT"adaptation SEDORIC)
6215 PRINT:PRINT" Il a {t{ {crit par R.Barbier pour le Club Europe Oric."
6220 PRINT:PRINT"DEVINETTE: En guise d'essai, charger
6225 PRINT"le fichier ESSAI et le d{crypter, mais
6230 PRINT"avec quelle clef ? Allons voyons, un
6235 PRINT"mot de quatre lettres! sur ce clavier
6240 PRINT"rouge et noir, c'est simple !
6250 PRINT:PRINT:GOSUB5290:RETURN
8000 '--------
9000 'Reconfig accentu{s r{duite
9010 RESTORE
9020 FORI=1TO3
9030 READA$:C=ASC(A$)
9040 FORN=0TO7:READB
9050 POKE46080+8*C+N,B
9060 NEXT:NEXT
9070 RETURN
9080 DATA@,8,4,28,2,30,34,30,0
9090 DATA{,4,8,28,34,62,32,30,0
9100 DATA},16,8,28,34,62,32,30,0
Adaptation de Enigma pour Sedoric
La version Jasmin propose aux lignes 4150 Ã 4190 et 5170 Ã 5210 une adaptation pour Sédoric, mais celle-ci peut être améliorée de la manière suivante :
Version Jasmin :
4150 NM$=NM$+«.TXT,»+HEX$(DC)
4180 !LOAD NM$
5170 NM$=NM$+«.TXT,»+HEX$(DC)+«,»+HEX$(DEEK(DC))
5200 !SAVE NM$
Version Sedoric :
4150 NM$=NM$+«.TXT»
4180 !LOAD NM$,ADC
5170 NM$=NM$+«.TXT»
5200 !SAVE NM$,ADC,EDEEK(DC)
|
|
|
|
|
BROWSE
NUMEROS
[140] - [139] - [138] - [137] - [135] - [134] - [133] - [132] - [131] - [130] - [129]
YEAR
2013 - 2012 - 2011 - 2010 - 2009 - 2008 - 2007 - 2006 - 2005 - 2004 - 2003 - 2002 - 2001 - 2000 - 1999 - 1998 - 1997 - 1996 - 1995 - 1994 - 1993 - 1992 - 1991 - 1990
|