Lemmont / Safe-PDF-Redaction-Tool

'A safe PDF redaction tool' Thesis project in which I aim to create a tool which leaves no traces of the redacted text and keeps the other text intact.
0 stars 0 forks source link

twijfels over positie toestand #21

Open maartenmarx opened 7 months ago

maartenmarx commented 7 months ago

Hi @Lemmont ,

Ik twijfel nu toch of jouw manier van de woorden verplaatsen ook echt oplevert wat je claimt. Sowieso geef je nergens een overtuigend argument.

Wat nou als je een paar woorden weghaalt op 1 regel en dit is een tekst die aan beide kanten recht uitgelijnd is. Dan kan je toch door het redacted deel op te tellen bij het deel rechts tot aan de uitlijn precies weten hoeveel er is weggehaald?

Of heb je daar ook wat slims voor?

Je MOET echt veel beter beargumenteren dat je aan je 2 eisen voldoet.

succes maarten

Lemmont commented 7 months ago

Hi @maartenmarx ,

Ik moet de argumentatie aanpassen/(beter) invoegen in mijn scriptie, maar hier is wat ik PRECIES heb gedaan:

  1. Ik maak niet gebruik van black boxen of een andere indicatie die precies blootstelt wat de originele lengte van het weggehaalde deel is.

  2. Ik verwijder de daadwerkelijke tekst van de redactie uit het document. Die tekst is dus niet makkelijk er uit te lezen.

  3. PyMUPDF voegt bij het verwijderen van tekst een shift toe die ongeveer even groot is als de originele om de stijl van het document te behouden (wit ruimte op de plek waar eerst het woord stond). Dit is natuurlijk erg gevaarlijk dus dit wil je meteen weghalen. Dan heb je de volgende case: 1. als je geen replacement tekst toevoegt dan verwijder je de positional adjustment, toegevoegd door Pymupdf, compleet. 2. als er wel een replacement value wordt toegevoegd '[x]', dan pas je de positonal adjustment aan op basis van de lengte van deze replacement value:

Alle tekst schuift dan op naar links. De replacement tekst maakt de ruimte dus kleiner en dus is de lengte van de originele tekst niet meer over, zowel visueel als in de positionele aanpassingen niet.

  1. Stel je zou precies tot aan de uiterste rechter kant uitlijnen en je hebt een paar woorden verwijderd. Dan zou je in het optimale geval ongeveer kunnen weten wat de totale som van al die aanpassingen te weeg heeft gebracht. Je weet dan nog steeds niks over de individuele lengtes. Enkel weet je niet tot hoever rechts je precies komt, dit verschilt op basis van wat er zou hebben gestaan, maar die originele lengtes weet je niet.

  2. Ik heb overwogen om ruis toe te voegen aan de positonele aanpassingen in het document om het lastiger te maken te gokken wat het orignele was. Dit bleek zeer recent echter niet veilig genoeg, en omdat je daar veel meer kennis nodig voor hebt over de Word manier van die aanpassigen erin brengen, en omdat ik geen toegang tot die informatie kankrijgen heb ik dat laten vallen... Dan zou ik het zelf moeten doen, maar dat duurt heel lang (ik moet dan handmatig met word documenten gaan 'spelen' en Maxwell heeft daar ook lang over gedaan).

Ik heb dus alle positionele aanpassingen verwijderd uit het document. Dit levert opzich zelf genomen geen problemen op qua visueel. Maxwell doet dan ook nog alles aanpassen naar een monospace font, zodat je de witruimte (waar eerste de weggelakte woorden stonden) behoudt, maar niet precies weet wat er stond. Het maakt er vgm een fixed-value van...

Grotendeels volg ik suggesties uit de maxwell paper. Ik verwijder de postionele informatie en laat niks over van de weggelakte ruimte

maartenmarx commented 7 months ago

Hi @Lemmont , ik denk dat ik je volg, maar ik denk dat het heel goed is als je het in een heel duidelijk voorbeeld laat zien. Je haalt 1 woord weg in een tekst die aan beide kanten recht uitgelijnd is. Laat nou dan zien dat mijn boeren-verstand wijsheid van optellen toch niet opgaat. (is dat omdat je met recht uitlijnen overal space gaat toevoegen of weghalen en niet altijd uniform over alle spaties in de regel???)

Ja, je moet je goed voorbereiden op lastige vragen! ;-)

Dit is in zekere zin de kern van je hele verhaal Dus je zou dat ook best in een slide kunnen doen dit voorbeeld.

Dit is nou precies wat jij toevoegt en wat adobe pro niet heeft, en waarvan Bland heeft laten zien dat het linke soep is., zeker als je al een setje kandidaten hebt voor die weggelakte naam.

Lemmont commented 7 months ago

@maartenmarx ,

Twee voorbeelden? Een lijn stopt natuurlijk eerder of later en gaat verder op een andere lijn op basis van alle woorden in een lijn.

Voorbeeld 1: 1 2 3

In voorbeeld 1 is het dan toevallig dat het wellicht in de buurt komt van de lengte, maar dat komt omdat het weggelakte ongeveer even groot is als de replacement. Als het een naam zou zijn, veel langer, gaat die vlieger niet op. Voorbeeld 2 is daar een beter geval van.

Voorbeeld 2: a b c

maartenmarx commented 7 months ago

Ja nee, ik bedoel nou juist text die aan beide kanten recht uitgelijnd is. Dan heb je meer informatie. Dit is in deze voorbeelden niet zo. Hier gaat het prima, dat snap ik. En bij 2 woorden speelt het ook bij recht uitgeleind natuurlijk minder. Maar bij 1 woord en uitgelijnd. Dat is mijn punt

maartenmarx commented 7 months ago

@Lemmont

maartenmarx commented 7 months ago

zoals een artikel in de krant bijvoorbeeld

Lemmont commented 7 months ago

aahh zoo

Lemmont commented 7 months ago

@maartenmarx

Ik heb het bekeken, maar ik zie zojuist dat ik een foutmelding krijg bij veel gevallen waar ik een replacement value in stop. Deze hebben te maken met het feit dat ze de operaties niet kunnen vinden die bij de rest van de tekst hoort.

Wat ik wel zie is dat zonder insertion dat de verwijdering van positionele aanpassingen zorgt dat het niet meer uitgelijnd is en dus je ook al die positionele aanpassingen nodig zou hebben om precies te kunnen weten hoeveel ruimte je oorspronkelijk had.

image image image

maartenmarx commented 7 months ago

Sorry, ik volg je hier echt niet. Hier gaan ook verscheidene dingen tegelijk mis. Je plaatst opeens ook geen X-jes meer. Maar in de onderste regel zit precies mijn punt. het stukje wit achter "hij dat de" verrad hoeveel er is weggehaald. (samen met het stukje tussen en en hij waar normaal die [X] zou staan. @Lemmont

Lemmont commented 7 months ago

@maartenmarx

Ik kom er net achter dat het plaatsen van xjes in deze bestanden lastig gaat en ik bij dit soort documenten een foutmelding krijg omdat de operaties voor het renderen van deze tekst niet gevonden kan worden met mijn methode. Ik zie inderdaad wel nu dat hier in beperking in zit voor deze soort documenten.

Lemmont commented 7 months ago

@maartenmarx

Dit is inderdaad erg teleurstellend dat dit niet werkt. Ik heb het uitvullen van tekst blijkbaar niet (goed) genoeg getest. Dit had ik zelf ook niet zien aankomen.

Wat is uw suggestie wat ik nu doe?

maartenmarx commented 7 months ago

@Lemmont , wees eerlijk.

  1. voeg deze beperking toe. Dat jouw techniek niet veilig is/niet werkt met uitgelijnde tekst.
  2. Beschrijf het probleem dat ik dus vanncht had, en jouw voorgestelde oplossing. Heb je eigenlijk een echte oplossing hiervoor dan?
  3. Ik denk dat we onze ambities wat moeten bijstellen ;-) Joh geeft niks, overkomt iedereen. Blijf vrolijk!
Lemmont commented 7 months ago

@maartenmarx

  1. Ik zal mijn scriptie hierop aanpassen idd. Ik zal het probleem vermelden en proberen nog met een oplossing te komen theoretisch. Ik denk namelijk dat dit ook op te vangen zou kunnen zijn met een suggestie die maxwell geeft; het toevoegen van een soort ruis, en het aanpassen van de positionele aanpassingen dat er voor zou kunnen zorgen dat we van een uitgelijnde tekst naar een tekst gaan die dat niet is. Als namelijk zeker is dat elke lijn rechts uitgelijnd is, dan maakt het idd niet uit wat je weghaalt (gegeven het maar 1 stuk tekst is), want je weet de ruimte die rechts ontbreekt. Als het niet zeker is dat de tekst rechts uitgelijnd is, dan heb je die zekerheid niet en dus niet de lengte.
  2. Ja de ambities moeten iets bijgesteld worden. Ik vind het jammer, maar ik had inderdaad dit compleet over het hoofd gezien. Het is niet anders, ik heb in ieder geval een goede basis kunnen leggen en hopelijk kan ik dat goed overbrengen in mijn scriptie en presentatie!
maartenmarx commented 7 months ago

Ja jammer @Lemmont , we hebben dit voorbeeld wel eerder besproken en je hebt het ook al eerder over die ruis gehad om dat op te lossen maar dat is blijkbaar verdwenen. Het geeft maar aan dat je ook in de informatica je claims echt moet bewijzen / hard maken. Als je dat serieus doet vind je de problemen daarmee. Het is niet een moetje of zo maar een nee het belangrijkste gereedschap.

Dubbel uitgelijnde tekst is natuurlijk wel hetgene dat het meest voorkomt....

Nou ja, niet getreurd, maak er nog wat moois van en dit is het dan maar.

Ik ieder geval kan je een mooie demo laten zien, hopleijk van een echt besluit, of een andere Word brief uit Wioogle.