Kunt u mij de oplossing geven? Als het sleutelgetal bekend is kan je bijv. de cijferkode voor 31-12-02
succes
Met vriendelijke groet
p.s. Dit is een standaard-procedure om VIA een datum een cijferkode teberekenen. Dit wordt gebruikt om per dag een wachtwoord te gebruiken/wijzigen.
Ton de
Iets anders - vrijdag 1 november 2002
Antwoord
Hoi,
Je geeft wel weinig info...
Er kunnen onnoemelijk veel formules opgesteld worden die werken voor die paar datums. In het algemeen kan je het volgende doen: 1. Bepaal een bereik van datums waarvoor je formule moet werken (bv: 01/01/1900 tot 31/21/2100) 2. Bepaal het aantal dagen sinds de eerste dag van je periode: N 3. Kies een (groot) getal m 4. Kies een getal n 5. Kies een aantal gehele getallen ai voor i:0..n 6. Bepaal X=åai.Ni(mod m)
Als je wil dat je N opnieuw kan bepalen uit X (of anders: dat voor elke datum een unieke code X gegenereerd wordt), dan moet je voorzorgen nemen. Ik weet niet of dit een deel van je vraag is. Een eenvoudig (maar niet enig) antwoord zou zijn: neem n=1 en m een groot priemgetal.
Uiteraard is het niet 'heel eenvoudig' om die veelterm te bepalen, anders zouden ze het niet gebruiken voor een (beveiligings)code.
Wiskundig is het wel interessant... hoeveel info moet je hebben om die 'interpolatieveelterm' te kunnen bepalen (als je de graad zou kennen bv)? Een efficient algoritme? Hoe praktisch N bepalen uit X (wortels zoeken modulo n)? Onder welke voorwaarden zijn er oplossingen? Hoogstens één oplossing? Aangezien een simpele vierkantswortel modulo n al niet evident is, zal dit wel complex genoeg zijn om als beveiligingscode te gebruiken... Wat is dan de kans dat een hacker met p samples de code kan breken? p lineaire vergelijkingen, p+n+1 onbekenden, deelbaarheidsvoorwaarden voor p onbekenden, ... Lijkt me leuk thesis onderwerp...