(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

722

    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. S-kauppa nosti hintoja, K-kauppa laski

      Elintarvikkeiden arvonlisävero laski vuodenvaihteessa 13,5 prosenttiin. S-kauppa siirsi alennuksen suoraan katteisiin pi
      Maailman menoa
      196
      8357
    2. Perussuomalaisten Jani Mäkelä ihailee suunnattomasti Maduroa

      Janin mukaan Suomen hallituksen pitäisi tuomita diktaattorin ja huumelordin tuominen oikeuden eteen.
      Maailman menoa
      27
      6074
    3. Hiihtäjä Vilma Nissisen kommentit aiheutti paniikkia

      ja hernettä vedettiin nenään. Nissinen kertoi torstaina haastattelussa, kun häneltä kysyttiin, että tykkääkö hän hiihtä
      Maailman menoa
      169
      5719
    4. Persuilla paniikki, kun diktaattorit yksi kerrallaan kaatuvat

      Hallapersut halusivat sivarineidostaan sotilasjuntan komentajan Suomeen, jotta persuaatteen mukaiset puhdistukset olisi
      Maailman menoa
      15
      3497
    5. Huuto yltyy persujen piirissä Venezuelan johdosta.

      Kohta kakofonia yltyy kun persut tajuavat mitä Venezuelassa tapahtui. Von den Leydenki jo kipuilee kuten persut EU:ssa y
      Maailman menoa
      82
      2967
    6. Koska mennään retkeilemään?

      pusi pusi 😗
      Ikävä
      291
      2640
    7. Nyt ottaa persua pattiin: sähköauto joulukuun myydyin

      🤣 prööt prööt pakoputkellaan pörisevää persua ottaa nyt saamaristi pattiin, kun paristoilla kulkeva sähköauto on noussu
      Maailman menoa
      178
      2539
    8. Yhdysvaltain hyökkäys Venezuelaan on YK:n peruskirjan mukaan laiton hyökkäyssota

      Oman sävynsä tähän tuo vielä se, että hyökkäys kohdistettiin nimenomaan valtiojohtoa vastaan. Toki, kun tavoitteena on v
      Maailman menoa
      618
      2380
    9. Ovatko Perussuomalaiset kommunisteja?

      Toiset sanovat että ovat, toiset sanovat että eivät. Ainakin heillä on paljon sen aatteen piirteitä, koska haluavat kont
      Maailman menoa
      92
      2209
    10. Trump muka öljyn takia Venezuelaan? Pelkää mustamaalausta

      Kertokaapa mistä tuollainen uutisankka on saanut alkunsta? Näyttäkääpä ne alkuperäiset lähteet, minä en löytänyt mitään
      Maailman menoa
      19
      1423
    Aihe