Gibt es eine praktische Verwendung für den GNU-Faktor-Befehl?


17

Als ich durch die GNU Coreutils schaute , entdeckte ich den factorBefehl, den ich noch nie bemerkt hatte.

Manpage lesen:

Gibt die Primfaktoren jeder angegebenen Ganzzahl NUMBER aus. Wenn in der Befehlszeile keine angegeben sind, lesen Sie sie von der Standardeingabe.

Gibt es eine praktische Verwendung für factoroder handelt es sich nur um ein Demonstrations- / Spielzeugpaket?

Antworten:


17

Wikipedia, "Factor (Unix)" mit einer interessanten Einstellung:

factor erschien erstmals 1974 in der 5. Ausgabe von Research Unix als "vom Benutzer gewartetes" Dienstprogramm (Abschnitt 6 des Handbuchs). In der 7. Ausgabe 1979 wurde es in den Hauptabschnitt "Befehle" des Handbuchs (Abschnitt 1) ​​verschoben. Von dort wurde das Faktor-Dienstprogramm auf alle anderen Unix-Varianten einschließlich kommerzieller Unixe und BSD kopiert. In einigen Unix-Varianten wird es eher als "Spiel" als als ernstzunehmendes Hilfsprogramm eingestuft und daher in Abschnitt 6 dokumentiert.

Es sieht also so aus, als würden einige Benutzer gerne mit Primfaktoren herumspielen und Faktor schreiben - und wenn er einmal existiert hat, gab es wahrscheinlich keinen guten Grund, ihn nicht als Befehl in nachfolgenden Unix-Versionen aufzunehmen. Der "praktische Nutzen" eines Faktors kann also davon abhängen, was Sie für praktisch halten. Wenn Sie sich für Primzahlentheorie interessieren, ist dies wahrscheinlich ein großartiges Werkzeug / Spiel / was auch immer.


6

Ich weiß, dass in mindestens einem Fall für mich factordie Analyse einer großen Datendatei mit unbekanntem Format hilfreich war.

Wenn Sie den Verdacht haben, dass eine Datei Datensätze mit fester Länge enthält, stellen die Primfaktoren der Dateilänge einen Ausgangspunkt dar, von dem aus die tatsächliche Datensatzlänge bestimmt werden kann.


4

Hier erfahren Sie, welche Primzahlen miteinander multipliziert werden können, um die angegebene Zahl zu erhalten:

z.B 20 = 2 * 2 * 5

So,

> factor 20

Sie erhalten 20: 2 2 5als Ausgabe

Wenn die Zahl eine Primzahl war, z. B. 19, erhalten Sie 19nur eine.


Danke, ich habe das irgendwie von der Manpage bekommen. Ich war eher neugierig, warum Sie dies in einem Shell-Skript oder ähnlichem tun möchten. Wie oft braucht man eigentlich Wurzeln? Ich habe die Frage aktualisiert, um sie klarer zu machen.
Gavin Brock


2

Dies könnte ein Dienstprogramm sein, das aus den Anfängen von UNIX stammt, bevor wissenschaftliche Taschenrechner billig, klein und zahlreich waren.

Es könnte dazu gedient haben, den Entwicklern des ursprünglichen UNIX zu ermöglichen, zu zeigen, dass das Ganze etwas Nützliches bewirken könnte und weiterhin finanziert werden sollte.


1
Es demonstriert jedoch keines der Features von Unix, da es rein rechnerisch ist.
Stéphane Chazelas

2
In den Anfängen von Unix wurde der roffSchriftsetzer entwickelt, um die Finanzierungsanforderungen von Unix zu erfüllen.
Kusalananda

0

Primzahlen spielen eine große Rolle in der Kryptographie, obwohl ich sehr wenig darüber weiß, könnte ich mir vorstellen, dass sie für die Identifizierung großer Primzahlen und dergleichen nützlich sind


5
factorist auf Zahlen beschränkt, die in eine ganze Zahl ohne Vorzeichen passen. Im besten Fall sind das 64 Bit (≤ 18.446.744.073.709.551.615) - aber die kleinste Zahl, die Sie vernünftigerweise in z. B. RSA verwenden würden, ist 2048 Bit. IOW, das ist viel größer als der Faktor kann. Tatsächlich ist es so viel größer, dass das Ausschreiben um ein Vielfaches die maximale Länge eines Kommentars überschreitet . Es ist fast 600 Stellen lang (es ist 2¹⁹⁸⁴, wenn Sie es selbst mit zB berechnen möchten bc)
derobert

Also heute nicht nützlich, aber vielleicht vor 35 Jahren? Wurden für die Kryptografie damals Schlüssel mit dieser hohen Entropie verwendet? Ich dachte nur, es könnte ein möglicher Grund dafür sein, dass es existiert.
Drake Clarris

Nein. Wenn der Faktor die Zahl ausmachen kann (ohne sie viele, viele Jahre lang zu tuckern), ist er für die Kryptographie unbrauchbar. Ich wette, der Faktor verwendet einen relativ langsamen Algorithmus ...
derobert

1
Ich habe dir gesagt, ich weiß sehr wenig über Kryptographie. haha
Drake Clarris

3
@derobert zumindest die Version auf meinem Rechner (8,25) Verwendungen libgmp und kann Faktor sehr große Zahlen: 184467440737095516150000000000001: 19 37 227601536870423 1152893543912729
Viktor Dahl
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.