(de?)Kryptaus... melkein (char-pulma)

harrastaja591

(Pahoittelen Suomi24:ää, että se jättää osan pois, mutta voinette arvata puutteet.)

Tämä harjoitustyö tekee oikeasti jotain. Se kryptaa ja dekryptaa,mutta matkalla teksti muuttuu oudosti. Esim. osa kirjaimista tuplaantuu. Mistä on kyse ja miten sen voi korjata?

Avaimeksi hyvin sopivan kohinakuvan voi tehdä "kuvaamalla" peitetyllä linssillä 10-30 sekunnin valotusajalla suurimmalla iso-arvolla ja pakkaus löysimmällä. Mikä tahansa kuva käy, mutta sitten on viisaampaa kasvattaa muuttujaa "hyppy".

********************************************* kryptaus.cpp
#include //tässä pitäisi olla iostream, string ja fstream
#include
#include
int alku=12345; //alussa on epäsatunnaisuutta, joka ohitetaan
int hyppy=7; //peräkkäisillä tavuilla voi olla riippuvuutta
int av;
int vi;
int y;
int kr;
char ca;
char cv;
int main ()
{
using namespace std;
fstream avain;
fstream viesti;
avain.open("kohinakuva.jpg", ios::in |ios::binary);
viesti.open("viesti.txt",ios::in |ios::out |ios::binary);

for(y=0;y> ca;
viesti.seekg(y);
viesti >> cv;
av=ca;
vi=cv;
kr=av vi;
if(kr>255) {kr=kr-256; }

viesti.seekp(y);
cv=kr;
viesti ca;
viesti.seekg(y);
viesti >> cv;
av=ca;
vi=cv;
kr=vi-av;
if(kr

4

701

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • -anon-

      Nojoo, yleensä nois muunnosfunkkareis on ihan hyvä testi vuoksi tehdä käänteisfuntio samalla ja vaikka assertoida asioita. Perusongelma kyllä näin kääntämättä näyttää olevan se että hävität informaatiota tuolla 256 hässäkällä. Koska kerran luet ja kirjoitat 8 bittiä ja laskutoimituksesi ovat väh 32 bittisiä niin siinä aina joskus infoo jää käyttämättä. Muuta käyttämään loogisia bittioperaatioita kuten xor etc... Tai kirjoita salauksesti samantien 4 kertaa isommaksi kuin alkuperäinen kirjoittamalla laskutoimituksen tulos inttinä levylle ja lukemalla se inttinä levyltä.
      Vielä sellainen tiedostojen käsittelyyn littyvä asia että kannattaa kirjoittaa salattu viesti eri tiedostoon, asiat sujuu helpommin.

      • juuso*

        ??


      • taikuri-hb
        juuso* kirjoitti:

        ??

        tms..


    • harrastaja591

      vika löytyi. pitää olla:

      virtaolio >> noskipws >> muuttuja;

      noskipws muuttaa extraction- tai voisiko sanoa (?) syöteoperaattorin toimintaa niin ettei tyhjiä (tai "tyhjiä") skipata.

      no-skip white spaces

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Takaisin ylös

    Luetuimmat keskustelut

    1. 20v on otettu kiinni

      Tulipalo oli sytytetty joten murhasiko ex omat lapsensa ja heidän Äidin. Tuskin sitä kukaan ohikulkijakaan sytytti.
      Savonlinna
      130
      8936
    2. Somali ei kätellyt Stubbia Linnan juhlissa

      Miksei somali osaa noudattaa hyviä käytöstapoja. https://www.iltalehti.fi/viihdeuutiset/a/563a3dea-fa3f-41f3-b64f-406d2
      Maailman menoa
      673
      5254
    3. Kuka on menehtynyt?

      https://yle.fi/a/74-20198293 Kuulemani mukaan ryyppyporukka ollut hapualla ja kuolemanenkeli (F.G) eli mies jonka seuras
      Kankaanpää
      26
      3546
    4. Mitä meidän välillä

      Tapahtuu lopulta?
      Ikävä
      36
      2434
    5. IL - Auerin lapsia oli houkuteltu rahalla Annelin puolelle?

      16:12 Outoja väitteitä Sijaisäidin mukaan Auerin lapsia koetettiin houkutella nettipalstoilla muuttamaan kertomuksiaan
      Maailman menoa
      2
      1869
    6. Savonlinan perhesurma, epäilty mies romani, äiti kantaväestöä

      https://www.is.fi/kotimaa/art-2000011676508.html Savonlinnan seudun romaniyhdistyksestä kerrottiin lauantaina IS:lle, e
      Maailman menoa
      130
      1773
    7. 67
      1767
    8. Savonlinnan murhapolttaja romani

      Ainakin IS kertoo. Arvasin heti ettei ole normi valkolainen suomalainen.
      Maailman menoa
      224
      1565
    9. Nainen, ota nyt rauhallisesti

      Älä ota kaiken maailman murheita päällesi. Sulla on tapana ottaa elämä liian vakavasti. Ei aina, mutta joskus menee vähä
      Ikävä
      138
      1397
    10. Ajattelen sinua kiitollisuudella

      Olet minulle jotain kaunista, jotain, joka tapahtui elämässäni. Et ole minulle pakkomielle enkä vaadi sinulta yhtään mi
      Ikävä
      60
      1149
    Aihe