Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Thinbasic

20 views
Skip to first unread message

Matti Lehtiniemi

unread,
Apr 20, 2013, 2:29:48 PM4/20/13
to
Tosiaan sain tuohon edelliseen Android-s�ikeeseen liittyv�t ohjelmointiprojektin
valmiiksi.
Piti laittaa teille kuva softasta, mutta en viitsi kun se on v�h�n liiankin hyv�
rahanteko-ohjelma.
(130 euroa tuli viime viikolla pelk�st��n nettipokerista + muut(vedonly�nti,
kasino))

Nyt olisi aikaa perehty� s�ikeisiin ja v�limuisteihin.

Ihmettelin hieman miksei tuo edellinen keskustelus�ie tuottanut sen enemp��
(oikeaa) keskustelua.
Ilmeisesti ihmisill� ei en��n ole aikaa testata prossien v�limuistien (L1 ja
L2 ) toimintaa ja koodata s�ikeill�.
Fakta on ettei gigahertsit en��n nouse prossissa ja ainoa tie eteenp�in on
monis�ikeistys, useiden ytimien k�ytt�.

Tutustuin ohjelmointi-putka -nimiseen sivustoon.Siell� mainittiin ,ett�
keskustelu ja innostus ohjelmointiin on ollut selv�ss� laskussa.

Tuolta l�ytyisi useampikin ongelma, jonka voisi moni-s�ikeist��:
http://www.ohjelmointiputka.net/postit/lista.php
Esimerkiksi MD5 -hy�kk�ys.

Kun koodasin tuota ohjelmaani Windows Visual C++ -k��nt�j�ll� niin kohtasin
k�sitt�m�tt�m�n m��r�n ongelmia.Mm 2.5 megatavun taulukko kaatoi k��nt�j�n ,kun
taulukon liitti olion j�senmuuttujaksi.

Johtuisiko ongelmat siit� ,ett� ohjelmointi on liian vaikeata ?
Latasin thin-basic nimisen ohjelman ja vaikuttaa varsin helppok�ytt�iselt�:
http://www.thinbasic.com/

Ei yht� maagisen helppok�ytt�inen kuin Qbasic mutta aika hyv� kuitenkin.
Ei voi kirjoittaa :
Print "hep"
Input a$

vaan menee:
dim s as String
print "hep"
s = console_read()

Koodaamisen nopeus on se mist� meik�l�inen tykk�� ja sit� tuosta thinbasicista
l�ytyy.

Matti

Matti Lehtiniemi

unread,
Apr 22, 2013, 12:01:28 AM4/22/13
to
> Nyt olisi aikaa perehty� s�ikeisiin ja v�limuisteihin.

Tuollaisen testiohjelman sain aikaiseksi.Helppoa kuin hein�nteko.
Jostain syyst� CWinthread ei onnistunut, Visual C++ v�itti ettei ohjelma ole
MFC -ohjelma vaikka laitoin
ruksin MFC:n kohdalle tehdess�ni console-applikaatiota..

Dataa voi kuitenkin siirt�� prosessille koodissa olevan (void *param) avulla.
K�ytin testin� integeri�, muuttuja luku.

Nyt pit�isi l�yty� viel� ongelma , jonka voisi monis�ikeist�� !
Olisiko tuo MD5 -hy�kk�ys , joka l�ytyy ohjelmointiputkasta hyv� kohde.


--- Clip ---

#include <iostream>
#include <process.h>
#include <Windows.h>

using namespace std;

void test(void *param)
{
int *luku = (int *) param;
int l = *luku;
cout << "In thread function"<< l << endl;
Sleep(1000); // sleep for 1 second
cout << "Thread function ends" << endl;
_endthread();
}


void main()
{
cout << "hep" << endl;
HANDLE hThread,hThread2;
int luku = 1;
hThread = (HANDLE)_beginthread( test, 0, &luku);
Sleep(1000);
int luku2 = 2;
hThread2 = (HANDLE)_beginthread( test, 0, &luku2);
WaitForSingleObject( hThread, INFINITE );
WaitForSingleObject( hThread2, INFINITE );

char c;
cin >> c;
}

--- clip ---

Jussi Hagman

unread,
Apr 23, 2013, 12:18:27 PM4/23/13
to
Matti Lehtiniemi <matti.le...@remove-me.kolumbus.fi> provided the following
for the eyes of sfnet.atk.ohjelmointi:
> Nyt olisi aikaa perehtyä säikeisiin ja välimuisteihin.
>
> Ihmettelin hieman miksei tuo edellinen keskustelusäie tuottanut sen
> enempää (oikeaa) keskustelua.

Nähdäkseni siellä sinulle annettiin oikea vastaus: Laske taulukko
kerran ja pistä datana softasi mukaan. Ei ole mitään järkeä laskea sitä
jokaisella päätelaitteella erikseen.

En sitten tiedä minkälaista oikeata keskustelua jäit kaipaamaan, mutta
nyysit on kuoleva media, valitettavasti.


> Ilmeisesti ihmisillä ei enään ole aikaa testata prossien välimuistien
> (L1 ja L2 ) toimintaa ja koodata säikeillä. Fakta on ettei
> gigahertsit enään nouse prossissa ja ainoa tie eteenpäin on
> monisäikeistys, useiden ytimien käyttö.

Ainakin mobiililaitteissa hertsitkin ovat vielä nousussa, ja niissä
löytyy muutenkin pelivaraa nostaa yksittäisen coren suorituskykyä monin
tavoin.

Mutta ihan totta, sitä iloa ei kestä ikuisesti. Tulevaisuus on
algoritmien kirjoittaminen samanaikaisiksi/riippumattomiksi
(concurrency), joka mahdollistaa niiden suorittamisen rinnakkaisesti
(parallelism).

Perinteiset UNIX-säikeet eivät mitä ilmeisimmin ole oikea työkalu
samanaikaisten ohjelmien kirjoittamiseen, koska ovat erittäin
virheherkkiä ja niiden abstraktiotaso on liian alhainen.

Onko tulevaisuuden paradigma actorit, jotain funktionaalista, coroutines
(kuten Go:ssa) vai jotain ihan muuta jää nähtäväksi.


> Tutustuin ohjelmointi-putka -nimiseen sivustoon.Siellä mainittiin
> ,että keskustelu ja innostus ohjelmointiin on ollut selvässä laskussa.

En tunne kyseistä putkaa mutta luulenpa, että heidän havaitsemastaan
trendistä ei voida vetää kauhean pitkälle meneviä yleistyksiä.
Toisenlaisen vastauksen voisi saada jos kysyisi vaikka Stack Overflow'n
ylläpitäjiltä.


> Kun koodasin tuota ohjelmaani Windows Visual C++ -kääntäjällä niin
> kohtasin käsittämättömän määrän ongelmia.Mm 2.5 megatavun taulukko
> kaatoi kääntäjän ,kun taulukon liitti olion jäsenmuuttujaksi.

En suoraansanottuna ymmärrä mitä oikein olit tekemiässä, mutta eihän
kääntäjä saa kaatua, käytä parempaa kääntäjää.


> Johtuisiko ongelmat siitä ,että ohjelmointi on liian vaikeata ?

Todennäköisimmin ongelmat johtuivat siitä, että yritit tehdä jotain
äkkiä ilman että otit selvää miten se tehdään ja kannattaako se tehdä
sillä tavoin. Mutta toki ohjelmointiympäristöissä ja -kielissä on eroja
niin helppouden, dokumentaation kuin monen muunkin asian suhteen.


--
Jussi Hagman, jhagman ÄT infa.fi

Matti Lehtiniemi

unread,
Apr 23, 2013, 12:58:02 PM4/23/13
to
> En sitten tiedä minkälaista oikeata keskustelua jäit kaipaamaan, mutta

Jäin kaipaamaan keskustelua siitä, mitä on tapahtunut kun ihmiset ovat
rinnakkaistaneet algoritmejaan.
Kuinka lähelle on päästy 2 -kertaista nopeutta kahdella ytimellä ?
Entäs kuinka lähelle päästään 4 ytimellä 4-kertaista nopeutta ?
Entä jos laittaa 8 säiettä päällä 4 ytimen koneeseen, onko se nopeampi kuin 4
säiettä ?
Kuinka paljon voidaan ajatella Wintoosan taustalla olevien prosessien syövän
koneen tehoja ?

Esimerkiksi tuo ongelma
http://www.ohjelmointiputka.net/posti.php?tunnus=md5h

Mun logiikan mukaan tuossa ongelmassa ei edes lueta muistia, kaikki ytimet
saavat rauhassa etsiä omaa ratkaisuaan. Kaiken järjen mukaan tuo on 4 ytimellä
lähes täsmälleen 4 kertaa nopeampi kuin yhdellä ytimellä.
Ellei sitten välimuistit toimivat vähemmällä älyllä ,kuin mitä kuvittelen niiden
toimivan.
(Jolloin joudun muuttamaan koodin rakennetta)

Esimerkiksi tuossa lukeva "intel Smart Cache" :
http://www.verkkokauppa.com/fi/product/1174/dkvrk/Intel-Celeron-G1610-2-60-GHz-LGA1155-suoritin-boxed

Mitäköhän se tarkoittaa ? Miten se eroaa muista prossujen välimuisteista ?
Väittäisin että joudun aika paljon koodaamaan ja testaamaan ennen kuin saan
selville mitä noissa välimuisteissa tapahtuu niin, että pystyn oikesti
hyödyntämään useita ytimiä.
Tietysti olisi hemmetin kiva jos joku muukin testaisi ja kokeilisi.
(Mielelläni en lukisi englanninkielisiä foorumeita mutta on sekin mahdollista)

> (concurrency), joka mahdollistaa niiden suorittamisen rinnakkaisesti
> (parallelism).

No onhan tämä ikivanha juttu .Muistan lukeneeni joskus vuonna 1970 kirjoitettua
kirjaa rinnakkaisista algoritmeista, jossa oli 700 sivua.

Kiitos vaan ,mulla on korkeakoulutason tietotekninen koulutus, älä nyt ihan
kaikkea opeta minulle.

Matti

Matti Lehtiniemi

unread,
Apr 24, 2013, 1:45:43 AM4/24/13
to
> http://www.ohjelmointiputka.net/posti.php?tunnus=md5h

Jos jotain kiinnostaa niin tuolta löytyy valmis C-koodin pätkä.
http://en.wikipedia.org/wiki/MD5

Olin aivan ulapalla kun ihmettelin miten mulla menee 1-2 sekuntia yhden MD5:n
laskemiseen .
Sitten koodista löytyi tuollainen:

//benchmark
for (i = 0; i < 1000000; i++) {
md5((uint8_t*)msg, len);
}

Se laskikin miljoona kertaa sen MD5:sen ! Siis Wikipedia-sivulta otettuna.
Jos käytätte Visual C++ -käätäjää niin tuollaiset rivit pitää lisätä:

typedef unsigned int uint32_t;
typedef unsigned char uint8_t;

Ja tuo poistaa :

//#include <stdint.h>

Ensimmäinen salasana on "k" .Jännää. Saas nähdä kuinka monta selvitän.
Radeon 4770 HD:ni kaikki rinnakkaislaskentaytimet ovat valmiina toimintaan !

Matti

Matti Lehtiniemi

unread,
Apr 25, 2013, 2:52:01 AM4/25/13
to
> Ensimmäinen salasana on "k" .Jännää. Saas nähdä kuinka monta selvitän.
> Radeon 4770 HD:ni kaikki rinnakkaislaskentaytimet ovat valmiina toimintaan !

Eipä löydy listalta:

http://developer.amd.com/tools-and-sdks/heterogeneous-computing/amd-accelerated-parallel-processing-app-sdk/system-requirements-driver-compatibility/

5770 HD löytyisi heh heh...

Matti

Matti Lehtiniemi

unread,
Apr 28, 2013, 3:46:30 AM4/28/13
to
Koodasin tuon MD5 -ongelman kahdelle core2 duo -ytimelleni. Näytti se nopeus
aika tarkkaan kaksinkertaistuvan.6 salasanaa meni 7:ssä minuutissa.(vai oliko se
5 salasanaa)
En käyttänyt SSE -käskyjä.

Latasin vanhan version AMD :n parallel processing toolseista.(2.4)
Ainakin semmoinen softa kuin AMD APP KernelAnalyzer näyttäisi että Radeon 4770
HD:ni heittämällä toimisi OpenCL:n kanssa. Myös OpenCL kernelien kääntäminen
onnistuu.

Bookmarkkasin tuollaisen linkin selaimeeni:
http://developer.amd.com/resources/heterogeneous-computing/opencl-zone/training-events/opencl-course-introduction-to-opencl-programming/

Onpahan harvinaisen selkeätä tekstiä.Täytyy ihan kehua tuota AMD:n
presentaatiota.
MuroBBS:n keskustelussa väitetään ,että AMD:n uusissa ajureissa olisi vanhojen
näytönohjaimien OpenCL-tuki poistettu.Saas nähdä saanko OpenCL:n oikeasti
toimimaan.
(Mulla on versio 2012.0405--jotain)

Ei kai tuo vaikeaa näyttäisi olevan.Workgroupit koostuu Workitemeista ja ne on
2-uloitteisessa gridissä.

Matti

Matti Lehtiniemi

unread,
May 6, 2013, 11:00:14 PM5/6/13
to
> näytönohjaimien OpenCL-tuki poistettu.Saas nähdä saanko OpenCL:n oikeasti
> toimimaan.

Näyttäisi toimivan ilman ongelmia.Hieman hankala tajuta miten niitä argumenttejä
syötetään OpenCL:lle, mutta kyllä sen tajuaa pienen tutkiskelun jälkeen.

AMD:n kirjaston mukana tuli mielenkiintoisia algoritmeja.Mm matriisin
kertominen, joka on lukeman mukaan otettu käyttöön matlabissa ja mathematicassa.

Sitten DCT algoritmi,joka on MPEG:n ja JPEG:n ytimessä. Tietääkseni ainakin
Google Chrome ja Internet Explorer on käyttänyt jo 2 vuotta tuota
näytönohjaimille huippu-optimoitua versiota.

Mandelbrotin laskeminen on sellainen ongelma joka sopii myös täydellisesti
näytönohjaimelle.
Toimii kyllä käsittämättömän nopeasti.
(Mandelbrot.exe)

Myös usean kappaleen ongelma (NBody.exe) näkee mainiosti miten paljon
lasketatehoa näyttiksestä löytyy.

Pitäisiköhän tuo salasana-ongelma koodata OpenCL:lle ... Väittäisin että ehkä
tunnin tai parin juttu.Paitsi jos haluaa käyttää SIMD:iä niin siihen pitää
lisätä 3-5 tuntia lisää.
(ohjelmointiputkan hemmot ovat käyttäneet valmiita kirjastoja mikä on hemmetin
laimeata)
(eikä ilmeisesti edes kirjastoja vaan valmiita ohjelmia)

Matti

Ari Saastamoinen

unread,
May 7, 2013, 3:03:22 AM5/7/13
to
"Matti Lehtiniemi" <matti.le...@remove-me.kolumbus.fi> writes:

> (ohjelmointiputkan hemmot ovat käyttäneet valmiita kirjastoja mikä
> on hemmetin laimeata)

Miksi kirjastojen k�ytt� on laimeata? Useimmissa tapauksissa valmiit
kirjastot ovat aikojen saatossa hioutuneet nopeammiksi ja
tehokkaammiksi kuin mihin itse ekalla yritt�m�ll� p��sisit (Ellet
sitten ole ilmi�m�inen "guru")

--
Arzka oh3mqu+...@hyper.fi - En halua follareita mailina
1. Valitse sopiva paikka, ei ihmisten tai rakennusten lahella, jossa
paukku voi aiheuttaa hairiota. - Iso-Kiinalaisen kayttoohje

Matti Lehtiniemi

unread,
May 7, 2013, 6:40:33 AM5/7/13
to
> Miksi kirjastojen k�ytt� on laimeata? Useimmissa tapauksissa valmiit
> kirjastot ovat aikojen saatossa hioutuneet nopeammiksi ja

Tarkoitin t�t� erikoistapausta.Tein vain sellaisen olettamuksen etteiv�t nuo
ohjelmointiputkan ihmiset osaa kunnolla koodata rinnakkaisalgoritmeja
OpenCL:ll�.(Tai Cudalla)
(tai ainakaan ei l�ydy google-haulla "opencl ohjelmointi" keskusteluja,tosin en
jaksanut kovin pitk�� googlata)

Tietysti siin� tapauksessa ett� ohjelmoija osaa kunnolla OpenCL:n ja SIMD:n ja
rinnakkaisohjelmoinnin k�yt�n niin sitten kirjastojen k�ytt�n on j�rkev��.
Mulla ainakin tuo SIMD:n opiskelu tulee viem��n aikaa, ainakin niin ett� sen
oppii kunnolla.OpenCL voi itsess��n menn� helpommin.

T�m� ohjelmointiputka on siis ohjelmoinnin _opiskeluun_ tarkoitettu sivusto.

GPU-z v�itt�� ettei n�yt�nohjaimessani ole OpenCL:��. Ilmeisesti se on otettu
pois uusissa Catalyst -ajureissa ?
Netti-surffaus -nopeuteni siis tulee rankasti laskemaan jos lataan uudet ajurit.
Sairasta, kuinkahan monta n�yt�nohjainta on lent�nyt roskikseen t�m�n tempun
takia ihmisilt�.

Matti

Matti Lehtiniemi

unread,
May 7, 2013, 8:02:02 AM5/7/13
to
> (tai ainakaan ei l�ydy google-haulla "opencl ohjelmointi" keskusteluja,tosin
> en jaksanut kovin pitk�� googlata)

Tuollaista l�ytyy:
http://webcl.nokiaresearch.com/

Kaikkea sit� netist� l�yt��.Vai ett� tamperelaisia OpenCl -guruja !
Aika yll�tys ett� Nokialla riitt�� rahaa johonkin tuollaiseen.
Asensin WebCL:n .

Aika hyv� my�s:
http://www.cs.tut.fi/~moniydin/

M

Jouko Holopainen

unread,
May 7, 2013, 8:26:53 AM5/7/13
to
On 05/07/2013 10:03 AM, Ari Saastamoinen wrote:
> "Matti Lehtiniemi" <matti.le...@remove-me.kolumbus.fi> writes:
>
>> (ohjelmointiputkan hemmot ovat käyttäneet valmiita kirjastoja mikä
>> on hemmetin laimeata)
>
> Miksi kirjastojen käyttö on laimeata? Useimmissa tapauksissa valmiit
> kirjastot ovat aikojen saatossa hioutuneet nopeammiksi ja
> tehokkaammiksi kuin mihin itse ekalla yrittämällä pääsisit (Ellet
> sitten ole ilmiömäinen "guru")

Ja niissä on enemmän tietoturvareikiä - en usko että millään saat
koodattua yhteenkään libbiin sitä määrää reikiä mitä on ollut GNU
C-libissä tai Javassa tai ssl:ssä tai ...

(vain puoleksi vitsinä)

--
@jhol

www.iki.fi/jhol

lauri....@gmail.com

unread,
May 21, 2013, 12:40:19 PM5/21/13
to
On Tuesday, 23 April 2013 19:18:27 UTC+3, Jussi Hagman wrote:
> Matti Lehtiniemi wrote:
> > Tutustuin ohjelmointi-putka -nimiseen sivustoon.Siellä mainittiin
> > ,että keskustelu ja innostus ohjelmointiin on ollut selvässä laskussa.
>
> En tunne kyseistä putkaa mutta luulenpa, että heidän havaitsemastaan
> trendistä ei voida vetää kauhean pitkälle meneviä yleistyksiä.
> Toisenlaisen vastauksen voisi saada jos kysyisi vaikka Stack Overflow'n
> ylläpitäjiltä.

Tämän virhetulkinnan syypää on kyllä mielestäni lukija, joka ei lukenut taustoja. Ohjelmointiputkassa on puhuttu varsin rajatusti suomalaisten peruskoulu- ja lukioikäisten nuorten ohjelmoinnin harrastamisen vähenemisestä. Kukaan ei ole väittänyt, että sama koskisi alan ammatteihin opiskelua, aikuisia tai ulkomaalaisia.

Asiasta on aivan konkreettisia merkkejä: Monia suomenkielisiä ohjelmointisivustoja on 2000-luvulla suljettu ja lopuillakin keskustelu on vähentynyt. Toki suuri osa keskustelusta tapahtuu englanniksi ja netissä on entistä enemmän valmista tietoa, mutta etenkin nuorille aloittelijoille suomenkieliset ohjeet ovat välttämättömiä, ja niitä kysytään selvästi aiempaa vähemmän. Virallisemmalla puolella taas nähdään, että MAOLin järjestämään Datatähti-kilpailuun osallistuu vuosittain enää parikymmentä henkilöä, kun vielä 2000-luvun alussa määrä oli moninkertainen. Lukiolaisten joukkueen kansainvälinen menestys IOI-kilpailussa näyttää myös olevan laskusuuntainen.

--
Lauri Kenttä

lauri....@gmail.com

unread,
May 21, 2013, 1:12:44 PM5/21/13
to
On Tuesday, May 7, 2013 6:00:14 AM UTC+3, Matti Lehtiniemi wrote:
> (ohjelmointiputkan hemmot ovat käyttäneet valmiita kirjastoja mikä on hemmetin laimeata)
> (eikä ilmeisesti edes kirjastoja vaan valmiita ohjelmia)

Ymmärtäisin valituksesi, jos tehtävänä olisi ohjelmoida itse murtoalgoritmi. Näin ei kuitenkaan ole, vaan tehtävässä on aivan eri kysymys: "Miten monta salasanaa saat selville?" Jos haluaa ratkaista tehtävän eikä opetella uusia kikkoja, on suorastaan hölmöä ruveta väsäämään omaa ohjelmaa, joka ei ikipäivänä vedä vertoja valmiille, optimoiduille murto-ohjelmille. (Lisäksi aika monta salasanaa selviää tuossa tuokiossa koskematta mihinkään MD5-aiheiseen ohjelmaan.) Tietenkin tilanne on toinen, jos ryhtyy tekemään tehtävää vain opetellakseen MD5-algoritmin optimointia matalalla tasolla.

Kuitenkin luulisi sinunkin tietävän – kun kerran on korkeakoulutason tietotekninen koulutus ja kaikkea –, että ohjelmointia ei ole vain koodin kirjoittaminen ja optimointi. Tämä tehtävä käsittelee korkeamman tason ohjelmointia: aiheena on MD5-algoritmin turvallisuus salasanan tiivisteen laskennassa, joka on aloittelijoiden keskuudessa melko yleinen tietoturvakysymys. Tehtävän taustalla on sivustolla käyty keskustelu juuri tästä asiasta, ja kaikkien keinojen käyttäminen on suorastaan tehtävän tarkoitus. Tämänhetkinen pistetilanne (ennätys 11) osoittaa, että jo 12-merkkisen, pienistä aakkosista koostuvan, satunnaisen salasanan selvittäminen vaatii toistaiseksi niin paljon resursseja, ettei siihen huvin vuoksi ryhdytä; toisaalta 9-merkkisen saa murrettua melko pienellä vaivalla.

Onpa muuten aika höpsöä niputtaa sivuston käyttäjät yhdeksi ryhmäksi. Oletteko te kaikki täällä (ja nyt minäkin) sitten yhtenä mienenä "sfnet.atk.ohjelmointi-nyyssien hemmoja"? Tuleeko sinusta "Ohjelmointiputkan hemmo" heti, jos päätät rekisteröityä ja lähettää ratkaisusi tuohon tehtävään?

--
Lauri Kenttä

Matti Lehtiniemi

unread,
May 22, 2013, 4:38:51 AM5/22/13
to

>Ymm�rt�isin valituksesi, jos teht�v�n� olisi ohjelmoida itse murtoalgoritmi.
>N�in ei kuitenkaan ole, vaan >teht�v�ss� on aivan eri kysymys: "Miten monta
>salasanaa saat selville?" Jos haluaa ratkaista teht�v�n >eik� opetella uusia
>kikkoja, on suorastaan h�lm�� ruveta v�s��m��n omaa ohjelmaa, joka ei
>ikip�iv�n�

Okei olen n�it� erilaisia teht�vi� vuosien saatossa ratkonut netiss�
matemaattis/tietoteksist� asioista ja niiden ratkaisuista saamani henkinen
nautinto on hyvin rajallinen, l�hes nolla.
En ymm�rr� miksi kukaan l�htisi tuota ratkomaan ilman muuta motiivia kuin saada
nimens� listan k�rkeen.
(saattaa tosin johtua i�st�ni, 41, etten saa mit��n nautintoa en��n
voittamisesta)

>ett� ohjelmointia ei ole vain koodin kirjoittaminen ja optimointi. T�m� teht�v�
>k�sittelee korkeamman >tason ohjelmointia: aiheena on MD5-algoritmin
>turvallisuus salasanan tiivisteen laskennassa, joka on >aloittelijoiden
>keskuudessa melko yleinen tietoturvakysymys. Teht�v�n taustalla on sivustolla
>k�yty

No mutta kuka ohjelmointiputkan ihmisist� osaa niin hyvin (diskreetti�)
matematiikkaa,ett� pystyisi etsim��n heikkouksia tuosta MD5-algoritmista ?
Jos siihen ei matemaatikotkaan (juurikaan) ole l�yt�neet ratkaisuja. Tai oikei,
ainakaan ohjelmointiputkan sivustoilla ei k�yty mit��n asian matemaattiseen
puoleen liittyv�� keskustelua.
Oletin sen olevan vain ohjelmointiharjoitus.

>Onpa muuten aika h�ps�� niputtaa sivuston k�ytt�j�t yhdeksi ryhm�ksi. Oletteko
>te kaikki t��ll� (ja nyt >min�kin) sitten yhten� mienen�
>"sfnet.atk.ohjelmointi-nyyssien hemmoja"? Tuleeko sinusta >"Ohjelmointiputkan
>hemmo" heti, jos p��t�t rekister�ity� ja l�hett�� ratkaisusi tuohon teht�v��n?

Tarkoitukseni oli niputtaa kaikki pikku ihmiset samaan kastiin ! Aivan kuin
ravut sumpussa.
No ei vaiskaan, vitsi vitsi.Rehellisesti sanottuna pikku trollaamisella saa
aikaan parempaa keskustelua kun t�m�n netin yli keskustelu on yleisesti ottaen
aika kuivakasta ja vaikeaakin.

Matti

Matti Lehtiniemi

unread,
May 23, 2013, 4:02:17 AM5/23/13
to
>Ymm�rt�isin valituksesi, jos teht�v�n� olisi ohjelmoida itse murtoalgoritmi.
>N�in ei kuitenkaan ole, vaan >teht�v�ss� on aivan eri kysymys: "Miten monta
>salasanaa saat selville?" Jos haluaa ratkaista teht�v�n

Hmm nyt taisin ymm�rt�� miss� sinulla m�tt��.
T�m� _on_ se murto -algoritmi. Ei ole muita algoritmeja kuin brute force t�ss�
tapauksessa.

http://en.wikipedia.org/wiki/MD5

Lueskelin tuota englanninkielist� MD5 -sivua. K�sitt��kseni "birthaday attack"
ei t�ss� tapauksessa nopeuta yht��n.
Sen sijaan "rainbow table" saattaisi hyvinkin nopeuttaa mutta sekin on vain
optimointi brute-forceen.

Vai l�ytyyk� joku huippu-nopea algoritmi ?

"A few days later, Vlastimil Klima described[13] an improved algorithm, able to
construct MD5 collisions in a few hours on a single notebook computer. On 18
March 2006, Klima published an algorithm[14] that can find a collision within
one minute on a single notebook computer, using a method he calls tunneling."

Jos olisi nuorempi ja innokkaampi niin saattaisi olla mielenkiintoista tutkia
t�t� asiaa.T�m� menee v�h�n alle mun tason.

Matti

Lauri Kenttä

unread,
May 25, 2013, 3:23:57 PM5/25/13
to
On Thursday, 23 May 2013 11:02:17 UTC+3, Matti Lehtiniemi wrote:
> Hmm nyt taisin ymmärtää missä sinulla mättää.
>
> Tämä _on_ se murto -algoritmi.

Minusta taas näyttää, että menit ihan metsään. Ehkä sanajärjestyksen vaihtaminen selventää: tarkoitin ”itse ohjelmoida algoritmi”, siis englanniksi vaikka ”personally implement the algorithm”. En ole puhunut mitään eri algoritmeista enkä edes ”itse algoritmista”, ja tiedän aika hyvin MD5:n murtamisen tunnetut mahdollisuudet ja mahdottomuudet.

Tiivistän vielä uudestaan asiani, jospa se nyt tulisi ymmärretyksi. Tehtävässä kuuluu vain selvittää salasanat keinoihin katsomatta. Niinpä valmiin ohjelman käyttö on minusta oikein ja järkevää, toisin sanoen tehokasta ja tehtävän hengen mukaista. Tietenkin tilanne olisi toinen, jos tehtävänanto olisi toisenlainen tai jos yllättäen koodisi osoittautuisi tehokkaammaksi kuin valmiit ohjelmat.

Ehkä syy tämän esille tuomiseen on viestistäsi välittyvä asenne, että ”ei ne putkan hemmot osaa itse tehdä, kopsaavat netistä vain”. Tehtävää on ratkottu sääntöjen ja idean mukaisesti ja ilmeisesti hyvin tuloksin, joten ylimieliselle sutkauksellesi ei ole oikein aihetta. Voit huviksesi kokeilla eräiden muiden tehtävien ratkaisemista, niin näet tason ilman kopioituja koodeja ja voit sitten miettiä, onko vielä tarpeen uhota. Monessakin tehtävässä on sijaa moniajolle, mutta näytönohjaimella laskettavaksi ne eivät ehkä sovi. Ensiksi tulevat mieleen mm. sellaiset tehtävät kuin Lottovoitto (lottov), Triplatulkinta (trit) ja Kielitiedettä (kiti).

En nyt silti mitenkään tarkoita, ettet saisi opetella OpenCL:n käyttöä. Kaikin mokomin. Jos saat siinä sivussa tehtävästä jonkin huipputuloksen, voit toki mennä sivustolle kehuskelemaan.

--
Lauri Kenttä

Matti Lehtiniemi

unread,
May 25, 2013, 4:46:09 PM5/25/13
to
No jopa olet itsevarmaa nuorta kaveria.

Meillä on joku ihan perustavaa laatua oleva ero ajattelutavassa.Liekö ikäero
syynä siihen.

Tätä keskustelua on mahdoton jatkaa netin yli.
Tulee mieleen perinteiset kevät-riidat sfnetissä joita syntyy melkein asiasta
kuin asiasta.En oikein viitsi tässä iässä enää harrastaa kukko-tappeluja
jonninjoutavista asioista.

Onko sitten jossain Helsingissä/Helsingin yliopistossa jotain ihmisiä jotka
tietää salaisia asioita salauksenmurtotekniikoista tai "kybersodasta".
Aivokuolleita jenkinperseennuolijoita.

Matti

Viljo Mustonen

unread,
May 26, 2013, 3:31:09 AM5/26/13
to
Matti Lehtiniemi wrote:

>
> Onko sitten jossain Helsingiss�/Helsingin yliopistossa jotain ihmisi�
> jotka tiet�� salaisia asioita salauksenmurtotekniikoista tai
> "kybersodasta". Aivokuolleita jenkinperseennuolijoita.
>

Pata kattilaa ... ? :)

--
Viljo
0 new messages