Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improvement ideas (collection) #234

Open
simlei opened this issue Jan 26, 2021 · 1 comment
Open

Improvement ideas (collection) #234

simlei opened this issue Jan 26, 2021 · 1 comment

Comments

@simlei
Copy link
Member

simlei commented Jan 26, 2021

This issue tracks improvement ideas and problems, questions the JCT team finds during testing sessions. It is maintained to lessen the burden on the rest of the issue tracker, using a more concise format. Many of these points need further explanation which is for now omitted for the sake of speed and conciseness. If you encounter one of these yourself and want to help fix it, please get in contact:

As most of our current developers speak German, please forgive that sometimes whole sentences are in German. We plan to translate this page.

Open questions

  • Was passiert, wenn Nutzer den entpackten Ordner mit einem vorhandenen mergen? kann fehler geben oder JCT startet nicht...

Found bugs and discussed improvement ideas

  • Online help: mention to double click on title bar of view group to restore to "normal view"
  • ECC plugin:
    • Mehr Platz in GUI zwischen den Gruppen rechts
    • Rot + Lila Highlights in der Tabelle => Andere Farben...
  • main perspective: file name "unsaved001.txt" -> "sample-file-001.txt"
    • room for improvement w.r.t. the sample file content: biggest display on startup after welcome screen... Headlines and bullet points e.g.
  • Crypto explorer after first startup / workspace removal: "This is the crypto explorer..." bubble, wrong position (linux,gtk3)
  • HMacMD5, eigener Key: cursor sollte Blockform haben
  • korrekt??: HMacMD5 mit 128, 256 bit und selbem schlüsselstamm, selbes ergebnis? tritt gerade so auf.
    • base key: 01 23 DF DD A0 00 00 00 00 00 00 00 00 10 00 10
    • result: B35551C59994F8E1F4443A0E0FEDE9F2
  • IDEA: grey out keylength box as it only contains one entry
  • Text n-gram topics plugin: improve -> reactivate? org.jcryptool.analysis.ngram_text_topics? use n-gram implementation like e.g. fleissner
  • Elliptic Curves (ECC) visual: make table (e.g. in F(p)) have a fixed column count of 5 and make it use the whole width, instead of the current faulty generic mechanism that tries to react to the width of the parent composite.
  • Friedman:
    • Text: Überschrift groß, dt.: Bindestrich fehlt
    • Konsistenz: Default-Text automatisch laden
  • Winternitz OTS:
    • Bug: Composite wird endlos breit bei resize wrsl. wegen TADComposite, unendlicher Rekursion
    • Feature: Grafik Unten rechts besser skalieren / svg / browser
    • Feature: Dark mode: @tassadarius : nicht gut mit Title-And-Description-Composite
    • use same example text as XMSS plugin
  • Merkle: Kein Title-and-Descr.-Composite
  • XOR plugin improvements crypto#362 (XOR)
  • Crypto Explorer does not work quite well with double click, loses focus due to context help -> move context help to a context menu
  • Classic Algorithms in menu grey with no editor -> roll back to show an error dialog on click, but not grey-out
  • RSS: Improvement ideas crypto#363 - RSS
  • Zudoku: OS/X: Does not open & puts JCrypTool in unresponsive state — should be removed for OSX
  • Zahlenhai/Taxman: "Yes/No" Buttons in German in Dialogs
  • Signature demo: Verification display with nonsense signature file (fails) --> displays no useful information and some "length: -1" — rather: display a short message, that no signature info is found if that is the case.
  • Certificate verification demo: Verification with bogus data not successful — that is expected — but no real reason or place where the verification failed is given.
  • ADFGVX: cannot complete wizard (Finish/Next not active) (seen under OSX)
    • "aktuelle Länge: [...] )" -> there is a blank before the closing bracket
  • Vigenere-Breaker:
    • Hintergrund weiß von Textfeldern
    • Bilder in de/en zweisprachig -- Originaldateien von den Bildern aber weg
      • durch Labels ersetzen
    • Textfeld zu klein
    • Referenzverteilung Schrott? [A-Vigenere-1] sample text [A-Vigenere-2] encrypted with CAESAR
    • Bessere analyse, least squares fitting für Kurvenübereinstimmung
  • silent fails in Algorithm perspective
  • Hex editor does not look good in "dark mode"
  • Wizards or shells are opened on another display in multi-monitor setup; e.g. in algorithm perspective->select key. Probably incorrect Shell creation with Display.getDefault()
  • Entropie-Plugin textfixes (s.13.07.)
  • Workbench verhalten reproduzieren und fixen: Perspective layout / workbench misbehavior (e.g. views not restorable) #176
  • Splash Screen: remove text at the bottom
  • Classic Algorithms: "Next" page not always available (where pre-operation transformations are configured)
  • Classic Algorithms: suggest a default key always
  • Alphabets: introduce full ASCII range alphabet with 256 characters — it looks like our alphabets.xml storage format does not accept #x0 characters (ASCII at byte 0x00), this would have to be circumvented somehow
  • Workbench-konsistenz nach Sprachänderung und nach Update sicherstellen; @grthor : Workspace Sprache ist nach Sprachänderung konsistent.
  • RSA/ElGamal neu programmieren. Former El-Gamal-Plugin feedback document: https://github.com/jcryptool/crypto/files/4368282/JCT-Feedback-before-Release_BE_v01_ElGamal.pdf
  • Pasteing of binary/hex into the hex editor is not possible (e.g. copy this string: 0x01a3f2 -- you'd want to be able to put that into the hex editor in the usable form but what you currently get is the ascii representation of that hex string)
  • "AES" in the "Algorithms" menu does not show an option to set the IV
  • Classic algorithms -> XOR-Encryption: it is not quite clear what gets XOR-ed: the ascii representation? The position in the alphabet? ---> Doc ergänzen und schließen @ be
  • Consistently use "Tabs" instead of "Reiter" in JCT (German) — *.properties: ISO-xyz windows encoding; *.xml,html: UTF-8 @ be
  • Krypto-Explorer-Sicht (leave out the "Sicht"/"View") across help texts @ be
  • Help menu: remove redundant entries that all lead to the help in the browser.
  • Reset the default perspective: the context help does not always get reopened.
  • Remove iconification (far bottom right in the main shell) of welcome page after pressing "Start JCT". @grthor done with 795ede5
  • LFSR: "Chiffrat" -> "Ausgabe"; @grthor done with jcryptool/crypto@604ab37
  • Grille-Analysis/nl=de: Wenn man von Methode Verschlüsselung zu Methode Anaylse Analyse umschaltet, hat der Radiobutton-Text "Eigenen Geheimtext laden" nicht genug Platz.
  • Textfeld-Scrollbars entfernen wenn Textfeld sie gerade nicht braucht (?) (Techn. Umsetzbarkeit prüfen...); @grthor: In normalen SWT "Text" Widgets nicht ohne weiteres möglich. In "StyledText" Widgets möglich über die Methode setAlwaysShowScrollBars(false). Aus meiner Sicht bleibt noch die Frage des Kosten-Nutzen-Verhältnisses zu beantworten. Ich sehe die Kosten durch den Nutzen nicht gerechtfertigt.
  • ECDH: In die Datei "ECDH.txt" nicht nur die Werte, sondern auch die Variablen-Namen aus der GUI reinschreiben: a, b, A, B, S. @grthor Done with Improvements in Elliptic Curve Calculation Plugin crypto#358 on 18.05.2021
  • Fiat Shamir: Alle Gruppierungstitel wie englische Sätze schreiben, zB "Calculated Values" --> "Calculated values". @grthor: Done with jcryptool/crypto@4b8a80f
  • Idee? "Macht man eine Visualisierung oder Analyse auf, erscheint sie zuerst unten (vertikal gesplittetes Fenster). Ob das die Nutzer so wahrnehmen, bin ichmir nicht sicher? Mich nervte es zuerst. Aber ich habe keine Idee, wie man es es besser machen sollte."
  • Caesar: Es wäre fein, wenn in der Maske vom Caesar-Algorithmus noch stehen würde, welchen Text erverschlüsslt. Indem er in der Dialogbox am besten den Namen der Datei, die im Reiters im Editors angezeigt wird, anzeigt.
    • →Name der Datei in den Fenstertitel hinter den Algorithmennamen (mit Trenner)
  • ["Babel"-String: Übersetzung gesammelt machen] Wenn man eine Visualisierung maximiert, steht recht oben am Rand, dass man den Krypto-Explorer und eine "Shared Area" restoren kann (Balloontext zu den kleinen Ikonen).
    • a) In beiden Sprachen unter Shared Area noch Editor ergänzen.
    • b) Im Deutschen: "Shared Area" und "Restore" eindeutschen.
  • Replace existing n-gram statistics implementations throughout JCT with the one in org.jcryptool.crypto.classic.model.
    • spart Platz in den binaries
    • uU. muss man auf Log-Wahrscheinlichkeiten umstellen
    • quasi alle klassischen Analyse-Plugins nutzen eine Form der Häufigkeitsanalyse
  • Numbershark: Add a button in the toolbar that reads, checks and executes a series of moves (number choices) from a textfield. Example of a move sequence input: 516::[509,361,437,...,444].
  • Multipartite Key Exchange: Provide ability to set parameters in main GUI, layout things (Multipartite Key Exchange: Set values ​​in group "summary initial parameters" yourself crypto#230)
  • JCT command line console: Provide means to recall the last command, e.g. via arrow-up-key.
  • Substitution analysis: vertical scroll bar not initially visible; graphs in analysis view on the right side has different vertical line spacing
  • Analysis/Viterbi: switchable hex/char display controls; when hex is displayed, no edit ability is necessary (just a mode of viewing the input)
  • The keys of all encryption methods should be storable. (this was issue crypto/Keystore conflict with crypto providers #224, but it's scope ("encryption methods"?) was somewhat lacking in specificity)
  • Algorithm-Plugins should be able to process files
  • implement about page with more info about JCT developers
  • Operation view: after restart of JCT: only load existing operations on click of button in View
  • nice2have html page source path anzeigen (kleiner footer)
  • Toolbar-Buttons "letzte View" + andere Navigationshilfen? -- 0014
  • Substitutionsanalyse: Alphabetzeichen zuerst listen
  • MacVim-Problem -- in help handler besser öffnen?
  • LOW/v1.1: A-Menu\DSA: soll auf Editorbasis laufen
  • passende Schlüssel in Algorithmen-Perspektive sollten vorgefiltert werden
  • Favicon Onlinehilfe (Aber noch keine Idee wo zu fixen)
  • Scrollen in Chinesischer Restsatz (@grthor: Wurde als wontfix eingeordnet. Die nicht scrollbaren Bereiche sind ScrolledComposites.)
  • Mac OS/X: Wenn (wie zB MacVim) eine app als Standard für HTML-Dateien eingetragen ist, so wird die Hilfe nicht im Browser geöffnet. (@grthor: Wurde als wontfix eingeordnet. Wenn Nutzer als Standardprogramm zum Öffnen von html-Dateien eine Texteditor setzen, müssen sie damit rechnen, dass html-Dateien nicht mehr korrekt angezeigt werden.)
  • Fiat-Shamir: "Mehrmals ausführen"-Button bringt einen Dialog mit schlechtem (wrsl. nicht-Grid-) Layout hervor; @grthor fixed with Fixed layout of repeat-m-times dialog in zeroknowledge plugins crypto#355
  • Alle Visualisierungsplugins vom Resize / 1. Startup untersuchen und fixen
  • Tooltip in klassischen Verfahren (Wizard) bei "Alphabet anzeigen" kommt mehrfach
  • example Hex editor does not open up again after restart (with or without -de {} change)
  • Homomorphic RSA: Stabilität: Warum ist das Ergebnis negativ? Ich nehme an, weil 112.233.445 * 130.918.078 = 14.693.386.906.718.710 > N= 536.870.912 ist. Sollte dann nicht besser eine Warnung kommen?
  • CPU load for WOTS visual seems high. What is the background thread doing?
  • Vigenère breaker: Bilder -> Text
  • Vigenère breaker: Textfields with white bg -> Labels (Thorben)
  • Print Button rausnehmen; @grthor fixed with c7876e4
  • in the online help in the browser, check if the JCrypTool instance has been closed and display a message that the tab may be closed
  • HMacMD5: Passworteingabe falsch -> nicht direkt Abbruch des Wizards
  • Kontextmenü im Hexeditor -> spiegeln der zutreffenden Optionen im "Edit"/"Bearbeiten"-Menü @grthor Done with c4921c9
  • in the online help in the browser, check if the JCrypTool instance has been closed and display a message that the tab may be closed
  • Zum schliessen: #313, Provide means to recall the last command, e.g. via arrow-up-key
  • Mehr Details in "Neuen Schlüssel anlegen"-Display (e.g. HMacMD5)
  • HMAC Key eingeben: digest = hmac.new("key", "The quick brown fox jumps over the lazy dog").hexdigest() --> JCT erlaubt es nicht, den Key auch als String (beliebige Länge) einzugeben!
  • workspace-dependent menu language when switching languages (falsche menüsprache bei Language switch -> restart)
  • Crypto-Issue: Command line console changes
  • Crypto-Issue: Visual plugin: Numbershark GUI changes and fixes -- Mail anschauen
  • Homomorphic RSA: Stabilität: Warum ist das Ergebnis negativ? Ich nehme an, weil 112.233.445 * 130.918.078 = 14.693.386.906.718.710 > N= 536.870.912 ist. Sollte dann nicht besser eine Warnung kommen?
  • L5) "Getting to know JCT / first steps" erleichtern
  • Numbershark: Replay-Funktion einer Zahlenfolge
  • Recherche: Onlinehilfe: Drucken einzelner Seiten (iframes) über Ctrl+P / Menü
  • Multivariate Crypto / Rainbow: Wenn man Message ändert, sollte Signature gelöscht werden.
  • HMacMD5: Passworteingabe falsch -> nicht direkt Abbruch des Wizards
  • Background Job view (e.g. with Entropy Analysis) opens some times in the middle of the workbench. Reproduce (was it fixed with other perspective improvements?) and if necessary, fix
  • Transposition analysis: (Linux) last transposition column is huge, rest is OK
  • Vigenère breaker: funny text sizes, background is white vs. grey backdrop
  • Vigenère Breaker: When opened at startup: [Log1]
  • Vigenere Breaker: Bug: does not always work on the active editor, but the one that was active on view open
  • Algorithmen-Dialoge: die letzten Einstellungen über eine Session hinweg merken
  • Substitution analysis: no scrollbar
  • Transposition analysis: huge bottom text area with filled table

Textual improvement ideas

Viterbi

In den beiden Dropdown-Controls unter "Plaintext 1" und "Plaintext 2"
sind die initial angezeigten Auswahl-Texte nicht enthalten (also die,
die die standardmäßig angezeigt werden).
Dadurch kann man nicht zu ihnen zurück, wenn man man einen anderen Text
gewählt hat!
Texte in den Dropdown-Menüs ebenfalls anbieten

ARC4-Visual

  • E: Bei den Balloon-Texten in "Misc settings" fehlt zweimal ein "h" bei
    "Determine, wether" (muss "whether" heißen).
    @grthor Already done by someone
  • D+E: In der GUI muss es in "Selection of the algorithm" / "Auswahl des
    Algorithmus" statt "ARC" richtigerweise "ARC4" heißen.
    @grthor Already done by someone
  • D+E: Viele Balloon-Texte haben "künstliche" Zeilenumbrüche. Sind da
    aus Versehen harte Newlines im den Ressourcedateien drin?
    @grthor Done with jcryptool/crypto@4121f56 and jcryptool/crypto@16d9b0b. Manual line breaks are necessary. Without them the tooltip will use the whole screesn, which looks bad.
  • Vereinheitlichen: Alle Grupierungstitel wie englische Sätze
    schreiben, bspw. "Calculated Values" --> "Calculated values".
    @grthor Done by someone

Things to look out for when testing JCT:

  • Was ist die "Leserichtung" bzw. Bedienungsrichtung, wird der Lesefluss eingehalten:
    • von links oben nach rechts unten
    • Informationen die man wissen muss, sind die im Lesefluss den Controls die diese Info voraussetzen, auch vorangestellt?
  • Gibt es Probleme mit 5px-Border/Margin bei Composites? Gibt es "solide" Borders?
  • Wird, bei Texteingaben, das erwartete Format beschrieben
  • Sind Fehlerausgaben spezifisch, d.h. wo ist das Problem, und ggf. Handlungsanweisung?
  • Onlinehilfe: Ein Beispiel, wie das Plugin in einem Durchgang zu bedienen, und wie die Ausgaben zu interpretieren sind, ist immer hilfreich. Ist dies vorhanden?
  • Kontexthilfe: ist der Inhalt sinnvoll? Was wäre besser?
  • Im Titel eines Plugins sollten die Schlagwörter und Begriffe auftauchen unten denen man das Plugin finden kann
  • Problem Kontexthilfe: Inhalt dupliziert oft, was im Titel steht und/oder ist zu kurz...
    • Idee: Linksammlung daraus machen; 1. Link zeigt zur Onlinehilfe, dann weitere Resourcen + evtl. kurzes Glossar der komplizierteren Begriffe, der Parameter, ...

More in-depth ideas focussed on one plugin, gathered during focused sessions

Grille

  • Grille Beschreibungstext: Er könnte etwas weniger breit sein. Erzwingt horiz. Scrollbar. Dieser sollte eher von den Elemneten darunter erforderlich gemacht werden.
  • Grille Beschreibungstext: dass man bei den Methoden Verschlüsselung und Entschlüsselung den Key auch direkt eingeben kann, indem man auf die Felder der Grille klickt.
  • Warum haben die Felder Ciphertext, Plaintext und Analysis output zu Beginn einen vertikalen Scrollbar, obwohl nichts drin steht? - Warum fängt der Scrollbar im jeweils zweiten der beiden beiden Felder Plaintext/Ciphertext nicht ganz rechts oben an?
  • Grille: Solve 20x20 puzzles (see grille help)
  • Grille: increase performance of analysis (profile it & improve)
  • (DE) Wenn man von Methode Verschlüsselung zu Methode Anaylse Analyse umschaltet, hat der Radiobutton-Text "Eigenen Geheimtext laden" nicht genug Platz.

McEliece

- Bug: Bei Neustart-Button-click in Toolbar (@ Thorben: log?). Im ersten sowohl als auch zweiten Tab.
- Bug: bei n=13, t=2 -> "Generieren" schlägt fehl

McEliece Algorithmus

McEliece cryptosystem

McEliece F1-Hilfe

McEliece matrix bearbeiten

McEliece Online-Hilfe

Multivariate Kryptography

  • Titel und Menüeintrag --> "Multivariate Kryptografie (Rainbow-Signature)"
  • Onlinehilfe: Ein Beispiel, wie das Plugin in einem Durchgang zu bedienen, und wie die Ausgaben zu interpretieren sind, wäre hilfreich.
  • Kontexthilfe: s. general ideas (Linksammlung + Glossary(?))

Rainbow_0202

@simlei
Copy link
Member Author

simlei commented Oct 15, 2021

[A-Vigenere-1]

Lettuce's native range spreads from the Mediterranean to Siberia, although it has been transported to almost all areas of the world. Plants generally have a height and spread of 15 to 30 cm (6 to 12 in). The leaves are colorful, mainly in the green and red color spectrums, with some variegated varieties. There are also a few varieties with yellow, gold or blue-teal leaves.

Lettuces have a wide range of shapes and textures, from the dense heads of the iceberg type to the notched, scalloped, frilly or ruffly leaves of leaf varieties. Lettuce plants have a root system that includes a main taproot and smaller secondary roots. Some varieties, especially those found in the United States and Western Europe, have long, narrow taproots and a small set of secondary roots. Longer taproots and more extensive secondary systems are found in varieties from Asia.

Depending on the variety and time of year, lettuce generally lives 65–130 days from planting to harvesting. Because lettuce that flowers (through the process known as "bolting") becomes bitter and unsaleable, plants grown for consumption are rarely allowed to grow to maturity. Lettuce flowers more quickly in hot temperatures, while freezing temperatures cause slower growth and sometimes damage to outer leaves.

Once plants move past the edible stage, they develop flower stalks up to 1 m (3 ft 3 in) high with small yellow blossoms. Like other members of the tribe Cichorieae, lettuce inflorescences (also known as flower heads or capitula) are composed of multiple florets, each with a modified calyx called a pappus (which becomes the feathery "parachute" of the fruit), a corolla of five petals fused into a ligule or strap, and the reproductive parts. These include fused anthers that form a tube which surrounds a style and bipartite stigma. As the anthers shed pollen, the style elongates to allow the stigmas, now coated with pollen, to emerge from the tube. The ovaries form compressed, obovate (teardrop-shaped) dry fruits that do not open at maturity, measuring 3 to 4 mm long. The fruits have 5–7 ribs on each side and are tipped by two rows of small white hairs. The pappus remains at the top of each fruit as a dispersal structure. Each fruit contains one seed, which can be white, yellow, gray or brown depending on the variety of lettuce.

The domestication of lettuce over the centuries has resulted in several changes through selective breeding: delayed bolting, larger seeds, larger leaves and heads, better taste and texture, a lower latex content, and different leaf shapes and colors. Work in these areas continues through the present day. Scientific research into the genetic modification of lettuce is ongoing, with over 85 field trials taking place between 1992 and 2005 in the European Union and the United States to test modifications allowing greater herbicide tolerance, greater resistance to insects and fungi and slower bolting patterns. However, genetically modified lettuce is not currently used in commercial agriculture.

History

Romaine lettuce, a descendant of some of the earliest cultivated lettuce
Lettuce was first cultivated in ancient Egypt for the production of oil from its seeds. The plant was probably selectively bred by the Egyptians into a plant grown for its edible leaves, with evidence of its cultivation appearing as early as 2680 BC. Lettuce was considered a sacred plant of the reproduction god Min, and was carried during his festivals and placed near his images. The plant was thought to help the god "perform the sexual act untiringly". Its use in religious ceremonies resulted in the creation of many images in tombs and wall paintings. The cultivated variety appears to have been about 75 cm (30 in) tall and resembled a large version of the modern romaine lettuce. These upright lettuces were developed by the Egyptians and passed to the Greeks, who in turn shared them with the Romans. Around 50 AD, Roman agriculturalist Columella described several lettuce varieties – some of which may have been ancestors of today's lettuces.

Lettuce appears in many medieval writings, especially as a medicinal herb. Hildegard of Bingen mentioned it in her writings on medicinal herbs between 1098 and 1179, and many early herbals also describe its uses. In 1586, Joachim Camerarius provided descriptions of the three basic modern lettuces – head lettuce, loose-leaf lettuce, and romaine (or cos) lettuce. Lettuce was first brought to the Americas from Europe by Christopher Columbus in the late 15th century. Between the late 16th century and the early 18th century, many varieties were developed in Europe, particularly Holland. Books published in the mid-18th and early 19th centuries describe several varieties found in gardens today.

Due to its short lifespan after harvest, lettuce was originally sold relatively close to where it was grown. The early 20th century saw the development of new packing, storage and shipping technologies that improved the lifespan and transportability of lettuce and resulted in a significant increase in availability. During the 1950s, lettuce production was revolutionized with the development of vacuum cooling, which allowed field cooling and packing of lettuce, replacing the previously used method of ice-cooling in packing houses outside the fields.

Lettuce is very easy to grow, and as such has been a significant source of sales for many seed companies. Tracing the history of many varieties is complicated by the practice of many companies, particularly in the US, of changing a variety's name from year to year. This practice is conducted for several reasons, the most prominent being to boost sales by promoting a "new" variety, or to prevent customers from knowing that the variety had been developed by a competing seed company. Documentation from the late 19th century shows between 65 and 140 distinct varieties of lettuce, depending on the amount of variation allowed between types – a distinct difference from the 1,100 named lettuce varieties on the market at the time. Names also often changed significantly from country to country. Although most lettuce grown today is used as a vegetable, a minor amount is used in the production of tobacco-free cigarettes; however, domestic lettuce's wild relatives produce a leaf that visually more closely resembles tobacco.


## 3) Ende

nächste TelCo: 12.09.2021 17:00


[1]

Lettuce's native range spreads from the Mediterranean to Siberia, although it has been transported to almost all areas of the world. Plants generally have a height and spread of 15 to 30 cm (6 to 12 in). The leaves are colorful, mainly in the green and red color spectrums, with some variegated varieties. There are also a few varieties with yellow, gold or blue-teal leaves.

Lettuces have a wide range of shapes and textures, from the dense heads of the iceberg type to the notched, scalloped, frilly or ruffly leaves of leaf varieties. Lettuce plants have a root system that includes a main taproot and smaller secondary roots. Some varieties, especially those found in the United States and Western Europe, have long, narrow taproots and a small set of secondary roots. Longer taproots and more extensive secondary systems are found in varieties from Asia.

Depending on the variety and time of year, lettuce generally lives 65–130 days from planting to harvesting. Because lettuce that flowers (through the process known as "bolting") becomes bitter and unsaleable, plants grown for consumption are rarely allowed to grow to maturity. Lettuce flowers more quickly in hot temperatures, while freezing temperatures cause slower growth and sometimes damage to outer leaves.

Once plants move past the edible stage, they develop flower stalks up to 1 m (3 ft 3 in) high with small yellow blossoms. Like other members of the tribe Cichorieae, lettuce inflorescences (also known as flower heads or capitula) are composed of multiple florets, each with a modified calyx called a pappus (which becomes the feathery "parachute" of the fruit), a corolla of five petals fused into a ligule or strap, and the reproductive parts. These include fused anthers that form a tube which surrounds a style and bipartite stigma. As the anthers shed pollen, the style elongates to allow the stigmas, now coated with pollen, to emerge from the tube. The ovaries form compressed, obovate (teardrop-shaped) dry fruits that do not open at maturity, measuring 3 to 4 mm long. The fruits have 5–7 ribs on each side and are tipped by two rows of small white hairs. The pappus remains at the top of each fruit as a dispersal structure. Each fruit contains one seed, which can be white, yellow, gray or brown depending on the variety of lettuce.

The domestication of lettuce over the centuries has resulted in several changes through selective breeding: delayed bolting, larger seeds, larger leaves and heads, better taste and texture, a lower latex content, and different leaf shapes and colors. Work in these areas continues through the present day. Scientific research into the genetic modification of lettuce is ongoing, with over 85 field trials taking place between 1992 and 2005 in the European Union and the United States to test modifications allowing greater herbicide tolerance, greater resistance to insects and fungi and slower bolting patterns. However, genetically modified lettuce is not currently used in commercial agriculture.

History

Romaine lettuce, a descendant of some of the earliest cultivated lettuce
Lettuce was first cultivated in ancient Egypt for the production of oil from its seeds. The plant was probably selectively bred by the Egyptians into a plant grown for its edible leaves, with evidence of its cultivation appearing as early as 2680 BC. Lettuce was considered a sacred plant of the reproduction god Min, and was carried during his festivals and placed near his images. The plant was thought to help the god "perform the sexual act untiringly". Its use in religious ceremonies resulted in the creation of many images in tombs and wall paintings. The cultivated variety appears to have been about 75 cm (30 in) tall and resembled a large version of the modern romaine lettuce. These upright lettuces were developed by the Egyptians and passed to the Greeks, who in turn shared them with the Romans. Around 50 AD, Roman agriculturalist Columella described several lettuce varieties – some of which may have been ancestors of today's lettuces.

Lettuce appears in many medieval writings, especially as a medicinal herb. Hildegard of Bingen mentioned it in her writings on medicinal herbs between 1098 and 1179, and many early herbals also describe its uses. In 1586, Joachim Camerarius provided descriptions of the three basic modern lettuces – head lettuce, loose-leaf lettuce, and romaine (or cos) lettuce. Lettuce was first brought to the Americas from Europe by Christopher Columbus in the late 15th century. Between the late 16th century and the early 18th century, many varieties were developed in Europe, particularly Holland. Books published in the mid-18th and early 19th centuries describe several varieties found in gardens today.

Due to its short lifespan after harvest, lettuce was originally sold relatively close to where it was grown. The early 20th century saw the development of new packing, storage and shipping technologies that improved the lifespan and transportability of lettuce and resulted in a significant increase in availability. During the 1950s, lettuce production was revolutionized with the development of vacuum cooling, which allowed field cooling and packing of lettuce, replacing the previously used method of ice-cooling in packing houses outside the fields.

Lettuce is very easy to grow, and as such has been a significant source of sales for many seed companies. Tracing the history of many varieties is complicated by the practice of many companies, particularly in the US, of changing a variety's name from year to year. This practice is conducted for several reasons, the most prominent being to boost sales by promoting a "new" variety, or to prevent customers from knowing that the variety had been developed by a competing seed company. Documentation from the late 19th century shows between 65 and 140 distinct varieties of lettuce, depending on the amount of variation allowed between types – a distinct difference from the 1,100 named lettuce varieties on the market at the time. Names also often changed significantly from country to country. Although most lettuce grown today is used as a vegetable, a minor amount is used in the production of tobacco-free cigarettes; however, domestic lettuce's wild relatives produce a leaf that visually more closely resembles tobacco.

[A-Vigenere-2]

NEXLUTGSRSTZXEVSNXGSTJERFSJJODVHIEEUKTIJRRPEEFTFUIFWRZCAPLHFWGLATYCSFWEEVREFSGQRXWDKQAPEOJVAPDAIGAWGFKJEAGRCFPPSNKUGIFEICLPQHRXEEZEZIHXSNUUPVWAUQFXGCDVOMFTYGLISVVUAVWCFNOVXUCOAMFLPKNXZEXTEIFAEFRIVCFNOVKPVETVMMJYIXZSFOEZSRZGGELEUXAVAEKKEWLHVTEEJERNSSSFVYVEJIVVIIKWZVHCWLCQWKGLUQRFDUVVEEDLVCVIKLVVTYUEJJAZWANKDIJAEIESXSYCPIKAEFTIPTLTEWXRFOTLWDVPSIZERFSSXTYGIGWBVTGXQPVVOXZEEQTGZEUUCEDLFREHXRZNLCGRIWFJDYCGAZWSFHLISFMCRMWTZGSPWTKWCIHLRPTWZAMGAVGOKUYWLEDVHELIEELYVEJCMEANKCPVGOKCNHKMRNLIJSVEORVAIARSGTJUOQWVRTIILIVUEWHETKAPDYKJOWWFFWNHANKJEYFIKGDWLAKGSEFDNGSXWREGUVGPVJAZWLFPGRSRIQWXSPIQOXKAEFAWEACNSILOWUEGGNUCRCJOFVSPGNXGRXSPIQOXKAEFMSJEVZTIFSZXEWWCFPDEJYJASXWMJCRIXOLPDMFVRTIILIVUFVGMRUIEVEGGNHANXQNXZEMCRMWTPCNHLIDGOJQERTLILTLEEKWNVTAPDYCKVIKDRASJJODRLEFTZPGXGHRTVIKTZPGFWCRWSIDEKVUGWTYCTJDONGRWLHIQUKZTYGPVGCVUSOFONPAWTOCVIRYBVEOQWSSKTXWRRPDYFSRNEETLVRLEFTJIRSONWQRGGNJWMTLIFPAVWRRTEPQACNOAWDKQGVGWKQMELUIKTCDEKVUGWFCQWIJSDQRIIUZEKPQIEJOXLEDREVSTLTEWOHZNEJJEVBIRYTVOPIJAKWRIKCRWSIKLFYEVYRFYTLSNUUOQWTZOEWVADCGILOFWTIJLVCVIKOEEETDAEVSQGVVRAWLTYGEHABCGSXSGVVHIQDVXEPGPWNOAWRJVAPCSLRTSEFKKNLAGYYIXZSDCLPQECNOATLFUSSESCKKIGTYGRQWMSGRWGFKJEXJISGCMUHFTIISECGTXMCVKNJDOIGSGWNTGSEDSFMNSONRUFPGWVTHISDJQRGSPZVUPSAIGCSEPFUEHGFDWLXAPCGFPGRVVSISCYYIXZADQDMXIVFCEDYOEAPDEUCPEHPLUWLACYDEGGMVUTLWFVCTLWRPRAVSCYWTIGFKJEJJUZVAGGRFNLEGFWKVIHEKCLWXUJGDMFTFCLMYUCGOVKTICPEFDKJEVWPIQDYUTZXETSRKUTLWSVKNGDUUGFYKEUCNXZEIUTLSTWQRQSTLDEAZITJSYJRFWNHKAJVYPWAEFBMHAIVIXWSKKGQSAJVHISNKJEVKSYGDTGLCGNXZEJVYPWECQNKSTVUTSSLCQWXZEJVIKEAJPOAUORVEHOIKJPSDLVPTSWMVTGIXRFOTLWTLDEXZEFXAVAEJHOVECFOPVWSJGDSTOMCTILERTDVGPJJATWDUTYJJUZVSXZAKFORGTFRERSTDCTYJIKAMISSLTIRYTFOMPGNXVHIXRLKTWZAMGRMTSFPEEUHJKDISNUCRILIGREHTYKYOVGWJQFWEACNWLATVJAMJSKJETSPGWSVWMRKNWSTKJEXGPFHEEUHWTUMLAJCDMKPVTSEDSKTUGLUIGEEUHWTUMLCFPTEANJQNIKEVFWLACYEARTENJIXWYVNLSOGICYSJBIQWRVEGGNHANXQNXZEMCRMWTPQFPWTKWCILHVFOQWSKKCELIFPOJDEKVUGWOMGRXZETGNXMRZGSLSSIGSYDTVFIRKEMGREDCYCNKWSKJRSMGYUEPWCKKVITRVGDMFGUGLEQEUDOPLIEILEJGVTSIWDJNAVYEINEENEJCNHZERFSFWTKGRXSSKGARVTVZTYJERNOAWRCCTIPCFPTIFTRPDHAFWGRIFTCGAJKHRREWSNUEOPGRJYOVCIEVHIKERTEEKCFPTMFUVUTLJOLIHXZEGTEWWNKFACKCZGNXAFZERIKERTCLANKQTLWGVPEXACDQDMXITCTMGNFHLILTLEEMKOEIOMFGNKTLGVVTFMWLUVRMSLJVAOANXRLEUESGTAWEECNHANKJEIMRFREEFUEKORSNUVHIMNZVEHKTRVEWLOKGSXEOUKFMUAKKORKACNOAANXIRISTVTHIJBZEIHWTFNEVSNTGGVWAKGRVWSZUTEFCVVOMFSVETWSNUHURYIRPDWDONGRFGLKKNKHAKVEVFSYQWINEIIERWTZEAPDYDQDMXIVFLILTLEEMKNFVCYJRVPTPQUJGDMFCFOMIJCZCLEYRZEUPLUIGHMKTFTYVGMRKNIDEKVUGWAUGSGWNUCNXGFJQMIGFKJEISRCKEWLCLNTMNAKGDPWTKWCIDEKVUGWWRUFMJSKEUPLIMCTIVIECNGAEEVEKQPKHOVLHVRRSVUTVISFOWQIPXRFOIXKSVGDWLHVRLEFTNCSTJOSCBPQSVNEGLIMGLCTRVFBCLHVGGCHTZCNWANKQATDAEVGVGWEHOVATJGDMTLVNEENEJYIXZEMKDIFCVQFMLSTWLXAVRVISFAGREEJIEIAWWAINYEKBTNEXLUTGWEKCFPSMVEIGDEKATTEHHLRPTSXTYGRIHRFFUGLIFPGSVMZPARVWRUCEJRZGDHMRZPGLASWGSXAVRNSEFDGNAGWDEGAVZIJKMEYEJVHIHLRPTASSKJOYYHKVOLWLGVHIYOUREVXOIOTLWSVZUEDATVURLIIKNKDYZVSYKEZPRIDIXKOYKCVTEQGNZGSVWSLNTIVIEVHIURVCTMGNFHMEFYZOAKWSZPTSEBJCNHOACNPEANKKNKKTYGCYDTZXAXWDMCRMWTPCPTWAIUTSZAMGBIWNRDOYLCDKNXSLCCNHJEJGMFDEUCLEJGVXEVKIFPOJLHVOOHWRETOQSIEGLILTLEEXZEJGUTJIXJTPWTKWCIKWVTEHWVVNOTWDSATLWEXAPXAAEUARVPRUSIVTFVHIYRVGKWOHFKNXMREUHEJEUVHIEWZVHXZEIQMEFSRTOYFDRFRSEAECGVACLNTYJACKSXUOCWMIDLRFEWURZDEHKEMGREDLVVTYUEMCRMWTZGSWGMVQFAZITJMEQHRXEFWEECNGWSKQRWGFKQDEQSCGTXMCVULILTLEEEHPVCRWANDCNCEEUKEZSLNTIXANXUEWHETKAPDYRUAQWDZEIRSLYGRFZICFEKSRUQFFANXGNQWNKKORWDZVIRZEIYRMLIEISSFMVFIGANRNHIJBJDEXOEVPARVAEFMEFYVCRPQHVTBEDSRNSSVEJERMTEZVSYKEJKNNGATJIQUADGREJILUPVGVZFEHVEJERMHTZQNWGFKJEXZRVGBEKITOOHWRENEXLUTGSLWAUNEXLUTGLSGSVNEEXLVVTYUERPDVGMRKNIGRTQSPWTKWCIDEKVUGWWRUFMJSKDRSMGYVTSLHVCMIJITCSJJODGUVGPVDYGZRZUTSHHVTCSDUDDUWANKJEPSTVVHGWNKWRCTEKYEIFTYGLELEKJCIFTLTYEFDKJEISRCATLUEEVUVQMRPYZSRZGTMWSNGRIVEMGLSHEUKNIMRFRETSRKKCYDAINYLGLCCNHTOFMSTMBCKSLWDZPTLWMZFTLSNUGAVDYKJCIFTLTIIKDVUCVABVUEZWRRNVEJIVVIIKFFWNHANXCRHWNJVOHSYUWEXGIKUSLGRKNIJWSGCNEXTVTHEJVVUTPWTKWCIOAJQRMYIECLPQSFNDVWLRVIZWLPELSKEKQWLWRVKTASSXTOAFTYGEEJLPVHGWNKWRCKANVHIVEMGLSHMVPTSXNVYPEUKZPGWLOICGISNUUHMHPZPGXWCYPOPGGZGSXZAKKMTJOMGDXZECKFIKPRPARVTICNWHOIVAFALZVYSXLVVTYUERPDVWSLNTIVIECSMYNZHIGSNKKNGJERUEMFAMCIPSBZNIXQDLTIRYTYGSPWTKWCIHRFFUGLIFPWEKRVXOPMTZQNMREUYIXZTYGDINECQPQWNKQFZSCLWMGGOCKNKOHZEHEDLFYEHXIVNDGGOCKNKSNURAGCIEIOJDEKVUGWRVRLEUIEITLWPIGVMGUJNYYKEUOEXZOUQFMUETQOPANXKNTSCBKNKZOLUEWGUKUIHWTYGFMWLUULILTLEEMKVVTYISSPVOKJONCNHSSJWCLZAJDEIFAJKGRAFZEARLSFWRGWOWUAPWSWQRQSNPUEIVCFOPEFIVUTVSCZPGXZEYKSXGRPQFQSNPXAVAEKKEWASTQMTDITCTIVBPVHIHRRETMUEFHMEFYTQMTSNZGSTSRKKCYDAINYMFTYGUWGFTJARYIEIAZSRZGTCKNROEJJODAEEJTFAEEJTYKSTJATVIGWIJEORVUTVEHXOIUEZWRRNRISSFPSXZEDQSXHRFOIRWNKDEMFGKQBSGSKUAPWSSAPVGMFVIRYAEGWZSRZGTCGRKQPVWVVPTGMSKQMIJSWTOQCNFYIRYTYCTXZEMCRMWTPJAHTEVPDINECQPIVBPCCSEPVVIRYSVGDGGMGCNCVOTWMIFTRVISFFIQMXZECCTILHTGNXMRPUHSOSSGTAWEECNHVIJVIRUTMCRMWTZGSSXLVVTYUEUGPIFDZPGSFTYGAQGUEVOJNAIKAXAOECLPGWVFBILWVGNXQPVUAHASKKNGLDZHFIJEEEEJJODVHIFADGDPWTKWCINAIKEXAEJQNXZEDCROWTRVTLWTZOERSMVUAPKOFHTIFCYCNKWDJKGRAFZEARLLPHRSECFWNXJYKQCSMNKTYEDTYQUKZMFUTPWTKWCIYRFYNXGDRAIWMSVFAWSVVIEXSBCGAQANFTAQGUEVIWMSVFIRLHVRRSVUTVISFOWVOFSCTQFVWETKGEJEKVEWZONGVIJDFOEWLITNEXLUTGSAALUTEPSTZXEWHRFFUGWACGAJLHRVVMKURNLCEOIGCPGSVNYVWSVOBPWSKQBEUCF

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant